2016-11-18 3 views
1

Я делаю простой контроллер навигации, и я хочу добавить элемент кнопки правой панели программно, но я не могу его показать. Цвет становится красным, и имя появляется как «Мое приложение», но по какой-либо причине не добавляется кнопка добавления.UIBarButtonItem Not Shown 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

Спасибо! Это сработало отлично. –

Смежные вопросы