我有一个标签栏控制器,它附有3个视图控制器。
假设您启动应用程序,第一个视图控制器是其他三个加载的视图。我想设置未加载的第三个视图控制器的徽章值。这是因为我希望用户在打开应用时知道他们有通知。
有可能,我该怎么办?我尝试过以下方法:
从另一个类调用视图(我要更改其徽章的视图):
NotificationsViewController *class = [NotificationsViewController alloc]init];
[class view];
然后,在NotificationsViewController类中,如果应用程序有任何使用解析的通知,我会将徽章设置为1:
- (void)viewDidLoad {
[super viewDidLoad];
PFInstallation *currentInstallation = [PFInstallation currentInstallation];
if (currentInstallation.badge > 0) {
NSString *badge = @"1";
[self.tabBarItem setBadgeValue:badge];
}
}
为什么这不起作用?如何更改尚未加载的视图控制器的徽章?
答案 0 :(得分:0)
首先,您需要获取标签栏项目:
UITabBarItem *tabBarItem = [[self.tabBarController.viewControllers objectAtIndex:YOUR_INDEX] tabBarItem];
然后,只需在其上设置徽章即可。
NSString *badge = @"1";
[tabBarItem setBadgeValue:badge];