構造は次のとおりです。
- 意見
- タブバーコントローラー
- ナビゲーションコントローラー
- ビューコントローラ
- ナビゲーションコントローラー
- ビューコントローラ
- ナビゲーションコントローラー
- ビューコントローラ
- ナビゲーションコントローラー
- ビューコントローラ
- ナビゲーションコントローラー
- ビューコントローラ
- ナビゲーションコントローラー
- ビューコントローラ
- ナビゲーションコントローラー
上記のコントローラーは、InterfaceBuilderで初期化されています。
私がやろうとしているのは、UIBarButtonItem
各ナビゲーションコントローラーに権利を追加することですが、成功していません。
これが私が試したことです:
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor clearColor];
self.view.opaque = NO;
self.tabBarController.view.frame = self.view.bounds;
NSArray *currentViewControllers = self.tabBarController.viewControllers;
NSMutableArray *updatedViewControllers = [NSMutableArray array];
for (int i=0; i<currentViewControllers.count; i++) {
UINavigationController *tempNav = [[UINavigationController alloc]init];
tempNav = [currentViewControllers objectAtIndex:i];
UIBarButtonItem *dismissButton = [[UIBarButtonItem alloc]
initWithTitle:@"Done"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(dismissLibraryBrowser)];
tempNav.navigationItem.rightBarButtonItem = dismissButton;
[updatedViewControllers addObject:tempNav];
[dismissButton release];
[tempNav release];
NSLog(@"Added controller number %d",i);
}
self.tabBarController.viewControllers = [NSArray arrayWithArray:updatedViewControllers];
[self.view addSubview:tabBarController.view];
}
コードはエラーなしで実行されますが、ボタンは表示されません。私はここで何かを誤解したと確信しています。いくつかのガイダンスをいただければ幸いです。