2013-04-25 3 views
0

Когда пользователь нажимает кнопку, я создаю UITabBarController с двумя подключенными к нему контроллерами представлений. Затем я нажимаю TabBarController на свой стек navigationController и отображается без проблем. Проблема пытается установить знак на одной из стержневых элементов вкладки, когда tabbarControlelr загружаются, я попробовал:Настройка значка на нажатой UITabBarController

[[self.tabBarController.viewControllers objectAtIndex:1] setBadgeValue:@"1"]; 

и целые много вариаций этого одного, но никто не дает мне круглую красную кнопку штуковины на вкладке.

Любые предложения?

Спасибо,

Рон

EDIT

код, как я представляю tabBarController

Airline_RosterAppDelegate *appDelegate = (Airline_RosterAppDelegate *)[[UIApplication sharedApplication] delegate]; 
CrewHere *vc = [[CrewHere alloc] initWithNibName:@"CrewHere" bundle:nil]; 
vc.title = @"Crewlist"; 

MessagesDetailed *mvc = [[MessagesDetailed alloc] initWithNibName:@"MessagesDetailed" bundle:nil]; 
mvc.title = @"Messageboard"; 

[tabbar setViewControllers:[NSArray arrayWithObjects:vc, mvc, nil]]; 
[tabbar setToolbarItems:[NSArray arrayWithObjects:@"Crewlist", @"Messageboard", nil]]; 

[appDelegate.navigationController pushViewController:tabbar animated:YES]; 

ответ

0

Свойство 'badgeValue' определяется на UITabBarItem. Вы бы установить его:

UITabBarItem *item = [self.tabBarController.tabBar.items objectAtIndex: 1]; 
    item.badgeValue = @"1"; 
    ... 

выше не будет работать, и не будет ваш код, когда «UITabBarController загружен. Вы можете сделать это только после того, как контроллер появится, потому что только в этой точке вы можете быть уверены, что все элементы представления действительно существуют. Положите его в viewDidAppear:animated: для tabBarController

[Edit, после Edit]

Вы не можете позвонить setToolbarItems: с NSArray из NSString; для массива требуется UITabBarItem. Проигрывать с - (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag

Кроме того, кажется, что вы смешиваете tool bar и tab bar - они разные.

+0

Нет, еще ничего. Я добавил код, чтобы показать, как я представляю TabBarController. – Ron

+0

Вы не можете добавить значок при загрузке контроллера панели вкладок; только после его представления. – GoZoner

+0

Я вызываю код, чтобы установить badgeValue в viewDidAppear из TabBarController – Ron