如何更改未加载的视图控制器的徽章?

时间:2015-07-17 04:02:12

标签: ios parse-platform notifications badge

我有一个标签栏控制器,它附有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];


    }
   }

为什么这不起作用?如何更改尚未加载的视图控制器的徽章?

1 个答案:

答案 0 :(得分:0)

首先,您需要获取标签栏项目:

UITabBarItem *tabBarItem = [[self.tabBarController.viewControllers objectAtIndex:YOUR_INDEX] tabBarItem];

然后,只需在其上设置徽章即可。

NSString *badge = @"1";
[tabBarItem setBadgeValue:badge];