我有一个导航控制器与4个标签栏项目.每个人都有导航控制器.当我得到推送通知时,我想要能够更改第4个标签栏徽章号,无论在什么视图或标签中我都需要使用自动布局,因此我无法在应用程序委托中使用任何以编程方式解决的问题.我从一个视图模板启动了项目.
我试图去到所需的标签,更改徽章值并回来,但当然不行.
tabBarController似乎只对当前选项卡栏项目进行了引用.
var current = self.tabBarController?.selectedIndex self.tabBarController?.selectedIndex = 3 self.navigationController?.tabBarItem.badgeValue = "34" self.tabBarController?.selectedIndex = current!
解决方法
无需选择该索引来更新徽章值.采取一系列标签栏项目.选择要更新的索引项,然后将其设置为徽章值.看到下面我已经做了第4个选项卡栏项目.
let tabArray = self.tabBarController?.tabBar.items as NSArray! let tabItem = tabArray.objectAtIndex(3) as! UITabBarItem tabItem.badgeValue = "34"