如何向UINavigationItem添加操作?

时间:2017-02-02 12:14:29

标签: swift xcode navigation navigationbar

我需要动态创建Navigation Bar并在左侧设置Cancel按钮。

我有尝试这样做的代码

var navBar: UINavigationBar = UINavigationBar()
func setNavBarToTheView() {
    navBar.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 80.0)
    navBar.backgroundColor = (UIColor.black)

    let navTitle = UINavigationItem(title: "Camera")
    let navCancel = UINavigationItem(title: "Cancel")

    navBar.setItems([navCancel, navTitle], animated: true)
    view.addSubview(navBar)
}

但是如何向Cancel按钮添加动作监听器?

1 个答案:

答案 0 :(得分:2)

UINavigationItem是一个模型对象,用于存储有关屏幕按钮的信息。

您需要的是一个UINavigationItem leftBarButtonItemrightBarButtonItem设置。

let item = UINavigationItem(title: "Title")
item.leftBarButtonItem = UIBarButtonItem(title:"Cancel",
                                         style:.plain,
                                         target:self,
                                         action:#selector(cancelTapped))

navBar.setItems([item], animated: true)