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属性,我们可以方便地在导航栏中添加按钮,实现各种功能和操作。希望本文对您有所帮助,谢谢阅读!