无法将barbuttonitem添加到导航控制器

时间:2019-05-07 04:56:03

标签: ios swift uibarbuttonitem rightbarbuttonitem

我想在项目中同时集成导航控制器和标签栏控制器。但是我无法在导航控制器中添加右键按钮。

我已附上情节提要的屏幕截图 enter image description here

我所做的是,我已将导航控制器添加到登录屏幕,这次我可以通过添加代码以及将barbuttonitem拖动到导航控制器来添加barbuttonitem。

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

添加标签栏控制器后,我面临的问题是我无法通过代码以及通过拖动到导航控制器来添加rightbarbutton。请帮助我。

1 个答案:

答案 0 :(得分:1)

将ViewController嵌入到NavigationController中时,您将使用

self.navigationItem.rightBarButtonItem = addBtn

在您的项目中,详细信息屏幕未直接嵌入NavigationController中。详细信息屏幕嵌入在TabBarController中,TabBarController嵌入在NavigationController中。所以你应该使用

self.tabBarController?.navigationItem.rightBarButtonItem = addBtn

但是这个addBtn在所有嵌入在TabBarController中的视图控制器中都是可见的。

如果只想为一个viewcontroller添加rightBarButton,则将详细信息屏幕嵌入到新的NavigationController中。然后,您可以使用

添加rightBarButton
self.navigationItem.rightBarButtonItem = addBtn