iOS navigationController 添加按钮
在iOS开发中,导航控制器(navigationController)是一个常用的界面控制器,用于管理具有层级导航结构的视图控制器。通过导航控制器,我们可以实现页面之间的导航、返回等操作。在导航控制器中添加按钮可以让用户进行一些操作,比如返回上一个页面、打开侧边栏等。
本文将介绍如何在iOS导航控制器中添加按钮,并给出相应的代码示例。
添加按钮
iOS导航控制器中的按钮可以分为左侧按钮和右侧按钮两种。左侧按钮通常用于返回上一个页面或者其他导航操作,而右侧按钮通常用于执行其他功能或者操作。下面我们分别介绍如何添加左侧按钮和右侧按钮。
左侧按钮
在导航控制器中添加左侧按钮,可以通过设置视图控制器的navigationItem
属性来实现。下面是一个示例代码:
// 在视图控制器中设置左侧按钮
override func viewDidLoad() {
super.viewDidLoad()
let leftButton = UIBarButtonItem(title: "返回", style: .plain, target: self, action: #selector(leftButtonAction))
self.navigationItem.leftBarButtonItem = leftButton
}
// 左侧按钮点击事件
@objc func leftButtonAction() {
self.navigationController?.popViewController(animated: true)
}
在上面的代码中,我们通过创建一个UIBarButtonItem
对象,并设置其标题、样式、目标和动作。然后将其赋值给视图控制器的navigationItem.leftBarButtonItem
属性,这样就实现了在导航栏左侧添加一个返回按钮,并设置了点击事件。
右侧按钮
在导航控制器中添加右侧按钮的方法与添加左侧按钮类似。下面是一个示例代码:
// 在视图控制器中设置右侧按钮
override func viewDidLoad() {
super.viewDidLoad()
let rightButton = UIBarButtonItem(title: "更多", style: .plain, target: self, action: #selector(rightButtonAction))
self.navigationItem.rightBarButtonItem = rightButton
}
// 右侧按钮点击事件
@objc func rightButtonAction() {
// 执行其他操作
}
通过上面的代码,我们可以在导航栏右侧添加一个名为“更多”的按钮,并设置了点击事件。用户可以点击这个按钮执行其他功能或操作。
类图
下面是一个简单的iOS导航控制器类图,展示了导航控制器、视图控制器和按钮之间的关系:
classDiagram
class NavigationController {
- viewControllers: [UIViewController]
- push(viewController: UIViewController)
- popViewController(animated: Bool)
}
class UIViewController {
- navigationItem: UINavigationItem
}
class UINavigationItem {
- leftBarButtonItem: UIBarButtonItem
- rightBarButtonItem: UIBarButtonItem
}
class UIBarButtonItem {
- title: String
- style: UIBarButtonItemStyle
- target: Any
- action: Selector
}
序列图
下面是一个简单的iOS导航控制器添加按钮的序列图示例,展示了视图控制器设置左侧按钮的流程:
sequenceDiagram
participant ViewController
participant NavigationItem
participant LeftButton
ViewController -> NavigationItem: 设置左侧按钮
NavigationItem -> LeftButton: 创建左侧按钮
LeftButton --> NavigationItem: 返回左侧按钮
NavigationItem --> ViewController: 返回左侧按钮
结语
通过本文的介绍,我们学习了如何在iOS导航控制器中添加左侧按钮和右侧按钮,并给出了相应的代码示例。通过设置视图控制器的navigationItem
属性,我们可以方便地在导航栏中添加按钮,实现各种功能和操作。希望本文对您有所帮助,谢谢阅读!