Amo*_*gar 2 uinavigationbar ios swift
单击按钮后,我将使用以下代码显示视图控制器:
let navController = UINavigationController(rootViewController: locationVC)
navController.navigationBar.barTintColor = StyleHelper.navBarColor()
navController.navigationBar.tintColor = UIColor.whiteColor()
navController.navigationItem.backBarButtonItem = UIBarButtonItem(image: UIImage(named: "back_arrow"), style: .Plain, target: locationVC, action: nil)
self.presentViewController(navController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
但是后退按钮没有出现在locationVC上
我究竟做错了什么?请帮忙
代码有多个问题。
问题1:
您应该更新viewController的条形按钮项,而不是navigationController的条形按钮项。
所以这是错的
navController.navigationItem.backBarButtonItem
Run Code Online (Sandbox Code Playgroud)
什么是正确的
self.navigationItem.backBarButtonItem
Run Code Online (Sandbox Code Playgroud)
问题2:
上面的代码不起作用,因为您当前的viewController没有被任何其他VC推动,因此它无法显示后退按钮。您需要的是leftBarButtonItem
因此,在您的VC中,您可以编写
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Abcd", style: .done, target: self, action: yourSelectorHere)
}
Run Code Online (Sandbox Code Playgroud)
O / P:
小智 5
后退按钮仅针对导航堆栈中的视图控制器显示。
您创建新的导航控制器堆栈并将 locationVC 作为根控制器,这样就不会有任何视图控制器可以返回。
如果您将另一个视图控制器推送到导航堆栈,那么您将获得后退按钮。
| 归档时间: |
|
| 查看次数: |
5318 次 |
| 最近记录: |