UIBarButtonItem未显示Swift 3

Kar*_*how 2 ios swift3

我正在制作一个简单的导航控制器,我想以编程方式添加一个正确的栏按钮项,但我无法显示它.颜色变为红色,名称显示为"我的应用程序"但由于某种原因没有添加按钮.

有任何想法吗?

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
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 13

您正在添加错误的按钮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
Run Code Online (Sandbox Code Playgroud)