2016-11-18 55 views
1

我正在制作一个简单的导航控制器,我想以编程方式添加一个正确的条形按钮项目,但我无法显示它。颜色变为红色,名称显示为“我的应用程序”,但由于某种原因没有添加按钮。UIBarButtonItem未显示Swift 3

任何想法?

let nav = UINavigationController(rootViewController: myViewController) 
nav.isNavigationBarHidden = false 
nav.navigationBar.barTintColor = UIColor.red 
nav.navigationBar.topItem?.title = "My App" 
nav.navigationBar.textColor = UIColor.white   
let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addStuff)) 
add.tintColor = UIColor.white 
nav.navigationItem.rightBarButtonItem = add 

回答

3

您正在将按钮添加到错误的navigationItem。导航栏显示最顶层视图控制器的navigationItem,因此您需要将该按钮添加到视图控制器的navigationItem

您还应该设置视图控制器的标题,而不是导航栏的标题。

myViewController.title = "My App" 
let nav = UINavigationController(rootViewController: myViewController) 
nav.navigationBar.barTintColor = UIColor.red 
nav.navigationBar.textColor = UIColor.white   
let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addStuff)) 
add.tintColor = UIColor.white 
myViewController.navigationItem.rightBarButtonItem = add 
+0

谢谢!这工作完美。 –