我正在尝试从标签栏控制器类设置标签栏项目徽章,但它无法正常工作。
首先,我通过将其拖到故事板中来创建TabBarController
。
然后,我创建了三个ViewControllers
并将它们连接到TabBarController
。
然后我创建了四个类,第一个是TabBarController
类,其余的是ViewControllerClasses
。
然后,我将类链接到storyboard元素,例如:
然后,在TabBarViewController
类中,我将此代码添加到ViewDidLoad
方法中。
- (void)viewDidLoad {
[super viewDidLoad];
[[[[[self tabBarController] tabBar] items] objectAtIndex:1]
setBadgeValue:@"1"];
}
现在,当我运行应用程序时,我希望第二个标签栏项目的徽章的值为@"1"
,但是,没有一个标签栏显示任何徽章?!
我的问题是我想要更新其中一个标签栏项目的徽章,但它不起作用。 此外,重要的是我可以将标签栏徽章的值设置为未加载的视图控制器的标签栏项,该部分对于我的应用至关重要工作。
那么为什么这不起作用,我怎样才能使它发挥作用?
答案 0 :(得分:0)
[[[[self tabBarController] tabBar] items] objectAtIndex:1]
因为self是UITabBarViewController
,所以您不需要再次获取tabBarController。使用以下代码获取UITabBarItem
[[[self tabBar] items] objectAtIndex:1]