我正在尝试从选项卡栏控制器类设置选项卡栏项的徽章,并且它不起作用。
首先,我将TabBarController
拖到情节提要中来创建它。
然后,我创建三个ViewControllers
并将它们连接到TabBarController
。
然后我创建四个类,第一个是TabBarController
类,其余的是ViewControllerClasses
。
然后,将类链接到情节提要元素,例如:
然后,在TabBarViewController
类中,将此代码添加到ViewDidLoad
方法中。
- (void)viewDidLoad {
[super viewDidLoad];
[[[[[self tabBarController] tabBar] items] objectAtIndex:1]
setBadgeValue:@"1"];
}
现在,当我运行该应用程序时,我希望第二个选项卡栏项具有一个带有
@"1"
值的徽章,但是,所有选项卡栏都没有显示任何徽章?!我的问题是我希望更新选项卡栏项之一的标志,但是不起作用。 同样,很重要的一点是,我可以将标签栏标志的值设置为未加载的视图控制器的标签栏项,这对于我的应用程序的工作至关重要。
那么,为什么这不起作用?如何使它起作用呢?
最佳答案
[[[[self tabBarController] tabBar] items] objectAtIndex:1]
因为self是
UITabBarViewController
,所以您无需再次获取tabBarController。使用以下代码获取UITabBarItem
[[[self tabBar] items] objectAtIndex:1]
关于ios - 标签栏 Controller 徽标未设置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31552899/