我正在尝试从选项卡栏控制器类设置选项卡栏项的徽章,并且它不起作用。

首先,我将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/

10-14 22:18