我在收到推送通知时尝试为UITabBarItem
设置badgeValue。我正在使用此代码。这里UITabBarController
不是rootViewController。我在resign active方法中尝试过同样的事情但是它也没有用。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
UITabBarController *tabBarController = (UITabBarController *)[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"tabBarController"] ;
[[tabBarController.tabBar.items objectAtIndex:2] setBadgeValue:@"1"];
}
答案 0 :(得分:4)
我认为您可以使用NSNotificationCenter在收到remoteNotification时发布通知
在UITabBarController
初始化方法
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myNotificationReceived:) name:@"pushNotification" object:nil];
和
在myNotificationReceived:
[[self.tabBar.items objectAtIndex:2] setBadgeValue:@"1"];
收到远程通知时
[[NSNotificationCenter defaultCenter] postNotificationName:@"pushNotification" object:nil userInfo:userInfo];
通过这种方式,您可以获得整个RemoteNotification信息