Невозможно добавить barbuttonitem в контроллер навигации - PullRequest
0 голосов
/ 07 мая 2019

Я хотел бы интегрировать контроллер навигации и контроллер панели вкладок в свой проект. Но я не могу добавить правую кнопку к контроллеру навигации.

Я прикрепил скриншот раскадровки enter image description here

Что я сделал, так это то, что я добавил контроллер навигации на экран входа в систему, и на этот раз я могу добавить barbuttonitem как путем добавления кода, так и путем перетаскивания barbuttonitem в контроллер навигации.

let addBtn = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped))
self.navigationItem.rightBarButtonItem = addBtn

Проблема, с которой я сталкиваюсь, заключается в том, что после добавления контроллера панели вкладок я не могу добавить правую кнопку как по коду, так и путем перетаскивания на контроллер навигации.пожалуйста, помогите мне.

1 Ответ

1 голос
/ 07 мая 2019

Когда ViewController встроен в NavigationController, вы используете

self.navigationItem.rightBarButtonItem = addBtn

В вашем проекте подробный экран не встроен непосредственно в NavigationController.Подробный экран встроен в TabBarController, TabBarController встроен в NavigationController.Поэтому вы должны использовать

self.tabBarController?.navigationItem.rightBarButtonItem = addBtn

Но этот addBtn будет виден во всех контроллерах представления, встроенных в TabBarController.

Если вы хотите добавить rightBarButton только для одного view-контроллера, то вставьте подробный экран в новый NavigationController.Затем вы можете добавить rightBarButton, используя

self.navigationItem.rightBarButtonItem = addBtn
...