我只想在用户点击带有角标(Badge)的标签栏后才从标签栏中删除角标(Badge)
例如,角标(Badge)显示在“新闻”选项卡上,如下所示。
如果我单击“新闻”选项卡,角标(Badge)仍会显示。只有在我点击任何其他标签(新闻除外)后,角标(Badge)才会消失。
我如何在应用委托(delegate)中实现它?
编辑
我尝试通过以下代码设置 UITabbardelegate:
tabController.tabBar.delegate = self;
但我不断收到以下错误
不允许更改由标签栏 Controller 管理的标签栏的委托(delegate)。'
我该如何解决?
最佳答案
在您的例子中,1 角标(Badge)位于 index 3
选项卡上,因此您可以:
[[tabBar.items objectAtIndex:3] setBadgeValue:nil];
由您来判断用户何时点击带有角标(Badge)的选项卡,您可以通过首先为您的选项卡栏项目分配一个 标签
来获得该反馈,然后使用:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
switch (item.tag)
{
case 3: /* News */
/* Tabbar item #3 was pressed, do something here. */
break;
}
}
关于objective-c - 单击离开后如何从特定标签栏中删除角标(Badge)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7474545/