如何在子视图中添加rightbarbuttonitem

时间:2011-07-11 11:24:20

标签: objective-c ios xcode

我有一个视图控制器,在viewDidLoad方法中添加以下子视图:

[self.view addSubview:subViewController.view];

如何使用subViewController的viewDidLoad方法向主视图控制器导航栏添加右侧栏按钮项?

我尝试了很多组合,如:

self.parentViewController.navigationItem.rightBarButtonItem = printButton;

self.navigationItem.rightBarButtonItem = printButton;

但没有用......

如果我在主视图控制器的viewDidLoad中添加它,打印按钮会正确显示,但我需要在subView中显示它是出于某种原因可能与否?

1 个答案:

答案 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;

让我知道这是否有效。