我创建了一个自定义容器视图控制器。它有两个子视图控制器。他们将UIBarButtonItem的实例设置为self.navigationItem.rightBarButtonItem
,以显示导航栏上的按钮。但是,没有显示任何内容。
为什么不是导航栏上显示的子视图控制器创建的UIBarButtonItem实例?
以下代码放在容器视图控制器的viewDidLoad
中。
[self addChildViewController:childVC];
[self.view addSubview:childVC.view];
[childVC didMoveToParentViewController:self];
答案 0 :(得分:1)
如果父控制器嵌入在导航控制器中,那么该父控件将具有navigationItem,而不是子控件。所以,孩子中的self.navigationItem将为零。您需要引用父项
self.parentViewController.navigationItem.rightBarButtonItem = ...