Невозможно получить доступ к UITabBarItem (s) внутри UITabBar

У меня есть TabBarController, который содержит 5 TabBarItems, я хочу иметь контроль над этими элементами, поэтому я создаю новый класс, который расширяет UITabBarController и делаю его делегатом для TabBarController <UITabBarControllerDelegate>, затем я привязываю TabBarController на доске рассказов с этим классом, но Я не могу создать какой-либо выход для любого UITabBarItem, также я попытался распечатать заголовки каждого TabBarItem в методе viewWillAppear следующим образом:

-(void)viewWillAppear:(BOOL)animated{
for (int i=0; i<5; i++) {
    UITabBarItem *tabItem=[self.tabBarController.tabBar.items objectAtIndex:i];
    NSLog(@"Title:-------->%@",[tabItem title]);
}

}

но он печатает пустой заголовок элемента foreach, что я могу сделать, чтобы иметь контроль над этими TabBarItems?


person Java Player    schedule 28.02.2014    source источник


Ответы (1)


Проблема в том, как вы получаете доступ к UITabBar.

Как вы сказали, у вас уже есть этот код, помещенный в класс, унаследованный от UITabBarController, тогда вы должны получить доступ к UITabBar как

self.tabBar

вместо того

self.tabBarController.tabBar

Попробуйте использовать этот эффективный код:

for(UITabBarItem *item in [self.tabBar items]) {
    NSLog(@"Title: %@", [item title]);
}

Вот прилагаемый образец проекта. Проект прикреплен

person Balram Tiwari    schedule 28.02.2014