我有一个视图控制器,在viewDidLoad方法中添加以下子视图:
[self.view addSubview:subViewController.view];
如何使用subViewController的viewDidLoad方法向主视图控制器导航栏添加右侧栏按钮项?
我尝试了很多组合,如:
self.parentViewController.navigationItem.rightBarButtonItem = printButton;
和
self.navigationItem.rightBarButtonItem = printButton;
但没有用......
如果我在主视图控制器的viewDidLoad中添加它,打印按钮会正确显示,但我需要在subView中显示它是出于某种原因可能与否?
答案 0 :(得分:0)
是的,可以试试这个。使用此代码可以让superViewController将HomeViewController更改为superView的类名
HomeViewController *vController = nil;
NSArray *vControllers = [self.navigationController viewControllers];
for(UIViewController *vC in vControllers) {
if([vC isKindOfClass:[HomeViewController class]]){
vController = (HomeViewController*)vC;
break;
}
}
//Now assign barbutton item here like
vController.navigationItem.rightBarButtonItem = barButton;
让我知道这是否有效。