ios – 在Swift中更新未选择的tabBarItem的徽章

我有一个导航控制器与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"

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...