首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在推送的UITabBarController上设置badge

在推送的UITabBarController上设置badge
EN

Stack Overflow用户
提问于 2013-04-26 05:22:35
回答 1查看 306关注 0票数 0

当用户单击一个按钮时,我创建了一个带有两个视图控制器的UITabBarController。然后,我将TabBarController推送到我的navigationController堆栈上,它显示没有问题。加载tabbarControlelr时,尝试在其中一个选项卡栏项目上设置徽章时出现问题,我尝试了:

代码语言:javascript
运行
复制
[[self.tabBarController.viewControllers objectAtIndex:1] setBadgeValue:@"1"];

它有很多变种,但没有一个能让我在选项卡栏上看到一个红色的圆形按钮。

有什么建议吗?

谢谢,

罗恩

编辑

编写我如何呈现tabBarController的代码

代码语言:javascript
运行
复制
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];
EN

回答 1

Stack Overflow用户

发布于 2013-04-26 06:34:52

属性'badgeValue‘是在UITabBarItem上定义的。您可以使用以下命令进行设置:

代码语言:javascript
运行
复制
  UITabBarItem *item = [self.tabBarController.tabBar.items objectAtIndex: 1];
  item.badgeValue = @"1";
  ...

当“UITabBarController被加载”时,上面的代码和你的代码都不能工作。您只能在控制器出现之后执行此操作,因为只有在那时,您才能确保所有视图元素实际上都存在。将其放入tabBarControllerviewDidAppear:animated:

编辑,编辑后

不能使用NSString的NSArray调用setToolbarItems:;该数组需要UITabBarItem。使用- (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag实例化

而且,你似乎把tool bartab bar混在了一起--它们是不同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16224963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档