структура выглядит следующим образом:Добавление UIBarButtonItem всем Navigation View Controllers внутри UITabBarController программно
- Просмотр
- Tab Bar Controller
- Навигационный контроллер
- View Controller
- Контроллер навигации
- View Controller
- Навигационный контроллер
- View Controller
- Навигационный контроллер
- View Controller
- Навигационный контроллер
- View Controller
- Навигационный контроллер
- View Controller
- Навигационный контроллер
Вышеуказанные контроллеры инициализирован в интерфейсе строителя.
Что я пытаюсь сделать, это добавить правый 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];
}
Код выполняется без ошибок, но кнопка не появляется. Я уверен, что я кое-что понял. По достоинству оценят некоторые рекомендации.
Вы проверили дочерние виды навигационного контроллера при выборе элементов табуляции .... – iDroid
Зачем мне это нужно? Я добавляю кнопку только к контроллеру навигации. Все хорошо видно, только кнопки не добавляются. – sooper
Я вижу это из вашего кода. Тем не менее, я не в своем MAC, поэтому, если вы регистрируете дочерние представления диспетчера навигации, мы просто можем подтвердить, что элементы кнопки все еще существуют или нет ... – iDroid