2016-08-23 109 views
1

我已经设置导航程序backBarbuttonitem什么都不做?

在视图控制器我设置了一个后退按钮,只改变标题按照文档。但是,点击子控制器中的后退按钮不会执行任何操作。

我错过了什么?

> in a viewController 

    let backItem = UIBarButtonItem() 
    backItem.title = "" 
    navigationItem.backBarButtonItem = backItem 
    self.navigationController?.pushViewController(secondViewController, animated: true) 

回答

1

你有一个目标和动作添加到该按钮,

let backItem = UIBarButtonItem() 
backItem.title = "" 
backItem.target = self 
backItem.action = #selector(back) 
navigationItem.backBarButtonItem = backItem 
self.navigationController?.pushViewController(secondViewController, animated: true) 

,然后实现回()函数。

func back() { 
    // If your view controller was presented by a navigation controller 
    self.navigationController?.popViewControllerAnimated(true) 

    // If your view controller was presented modally 
    self.presentingViewController?.dismiss(animated: true, completion: nil) 
} 
+0

其实两者都适用于滑动手势。 dismiss is dismissViewControllerAnimated(animated:true,completion:nil),但不是backButton的.touchUpinside。这种行为是否正常?我如何添加TouchUpInside? –