当用户单击一个按钮时,我创建了一个带有两个视图控制器的UITabBarController。然后,我将TabBarController推送到我的navigationController堆栈上,它显示没有问题。加载tabbarControlelr时,尝试在其中一个选项卡栏项目上设置徽章时出现问题,我尝试了:
[[self.tabBarController.viewControllers objectAtIndex:1] setBadgeValue:@"1"];
它有很多变种,但没有一个能让我在选项卡栏上看到一个红色的圆形按钮。
有什么建议吗?
谢谢,
罗恩
编辑
编写我如何呈现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];
发布于 2013-04-26 06:34:52
属性'badgeValue‘是在UITabBarItem上定义的。您可以使用以下命令进行设置:
UITabBarItem *item = [self.tabBarController.tabBar.items objectAtIndex: 1];
item.badgeValue = @"1";
...
当“UITabBarController被加载”时,上面的代码和你的代码都不能工作。您只能在控制器出现之后执行此操作,因为只有在那时,您才能确保所有视图元素实际上都存在。将其放入tabBarController
的viewDidAppear:animated:
中
编辑,编辑后
不能使用NSString的NSArray调用setToolbarItems:
;该数组需要UITabBarItem。使用- (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag
实例化
而且,你似乎把tool bar
和tab bar
混在了一起--它们是不同的。
https://stackoverflow.com/questions/16224963
复制相似问题