UIBarButtonItem未显示Swift 3
问题描述:
我正在制作一个简单的导航控制器,我想以编程方式添加一个正确的条形按钮项目,但我无法显示它。颜色变为红色,名称显示为“我的应用程序”,但由于某种原因没有添加按钮。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
答
您正在将按钮添加到错误的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
谢谢!这工作完美。 –