полное удаление всех контроллеров представления из контроллера вкладок - PullRequest
0 голосов
/ 21 февраля 2012

Я хочу полностью удалить все контроллеры представления из контроллера вкладок, независимо от того, состоит он или нет, и добавить новые контроллеры представления в контроллер табабра во время выполнения? Возможно ли это сделать? Я сделал это следующим образом.вывод?

 UIViewController *thisIsTheViewControllerIWantToSetNow; 
 int indexForViewControllerYouWantToReplace;  
 NSMutableArray *tabbarViewControllers = [self. tabController.viewControllers mutableCopy]; 
  [tabbarViewControllers removeAllObjects];



 self.tabController.viewControllers = [NSArray arrayWithObjects:self.moreNavController, self.logInNavController, nil];; 

1 Ответ

0 голосов
/ 21 февраля 2012

Если предположить, что self в данном примере является экземпляром UITabBarController, то попытка манипулировать его tabbar напрямую не подходит.Вместо этого установите свойство viewControllers.Как состояние UITabBarController документов:

tabBar Представление панели вкладок, связанное с этим контроллером.(только для чтения)

@ свойство (неатомное, только для чтения) UITabBar * tabBar

Обсуждение

Никогда не пытайтесь манипулировать самим объектом UITabBar, хранящимся в этом свойстве.Если вы попытаетесь это сделать, в представлении панели вкладок возникнет исключение.Чтобы настроить элементы для интерфейса панели вкладок, вам следует вместо этого назначить один или несколько пользовательских контроллеров представления свойству viewControllers.Панель вкладок собирает необходимые элементы панели вкладок с указанных вами контроллеров представления.

https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBarController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006931-CH3-SW4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...