我正在尝试更改标签栏项的角标(Badge)但没有成功。我知道标签栏 Controller 负责控制标签栏。
但是,标签栏中的某些内容本身可以由 View Controller 管理,例如角标(Badge)
在我的代码中我尝试了这个 View 确实加载了
self.tabBarItem.badgeValue = "3"
但角标(Badge)中什么也没有出现
然后我尝试了:
self.tabBarController?.tabBarItem.badgeValue = "3"
哪个不起作用,我知道为什么第二个代码不起作用,这与使用导航 Controller 而不是导航项更改导航 Controller 的标题相同。但我不知道为什么第一个代码不起作用
这是我的应用程序的层次结构,我在 TeamsTableViewController 中这样做,它是团队选项卡中的第一个 View Controller
最佳答案
在您的场景中,是导航 Controller 控制 tabBarItem 而不是 TableViewController,因为每个 TabBarController 都有一个 viewController 数组,并且这些 viewController 中的每一个都与一个 tabBarItem 相关联。在您的例子中,tabBarController 有两个 viewController,它们是:
- 团队导航 Controller
- 团队 View Controller
所以团队 View 导航 Controller 是控制标签栏项目的 View Controller 。
这样做应该可以解决您的问题
self.navigationController?.tabBarItem.badgeValue = "3"
关于ios - 为什么标签栏项目的角标(Badge)没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37523402/