如何将子视图控制器创建的UIBarButtonItem设置为父视图控制器的UINavigationController?

时间:2014-11-06 05:55:40

标签: ios uinavigationcontroller

我创建了一个自定义容器视图控制器。它有两个子视图控制器。他们将UIBarButtonItem的实例设置为self.navigationItem.rightBarButtonItem,以显示导航栏上的按钮。但是,没有显示任何内容。

为什么不是导航栏上显示的子视图控制器创建的UIBarButtonItem实例?

以下代码放在容器视图控制器的viewDidLoad中。

[self addChildViewController:childVC];
[self.view addSubview:childVC.view];
[childVC didMoveToParentViewController:self];

1 个答案:

答案 0 :(得分:1)

如果父控制器嵌入在导航控制器中,那么该父控件将具有navigationItem,而不是子控件。所以,孩子中的self.navigationItem将为零。您需要引用父项

self.parentViewController.navigationItem.rightBarButtonItem = ...