在 appDelegate 中设置 UITabBarItem 徽章值

Posted

技术标签:

【中文标题】在 appDelegate 中设置 UITabBarItem 徽章值【英文标题】:Set UITabBarItem badge value in appDelegate 【发布时间】:2018-05-15 03:25:09 【问题描述】:

我对这个问题进行了大量搜索,并在 Objective-C 中找到了许多答案。但是,我还没有找到 Swift 中的答案。

我尝试翻译 Objective-C,在didFinishLaunchingWithOptions 中执行以下代码:

if let rootViewController = self.window?.rootViewController 
    print("root")
    if let tabBarController = rootViewController.tabBarController 
        print("tab")
        let tabBarItem = tabBarController.tabBar.items![3]
        tabBarItem.badgeValue = "!"
    

代码从不打印“标签”,所以我显然没有正确访问它。帮忙?

【问题讨论】:

【参考方案1】:

假设你的根视图控制器实际上是标签栏控制器,你需要改变:

if let tabBarController = rootViewController.tabBarController 

到:

if let tabBarController = rootViewController as? UITabBarController 

【讨论】:

以上是关于在 appDelegate 中设置 UITabBarItem 徽章值的主要内容,如果未能解决你的问题,请参考以下文章

在 appDelegate 中设置 UITabBarItem 徽章值

在 AppDelegate 中设置 UIButton 外观时如何更改 SafariViewController 中导航栏的色调

在 Appdelegate 中设置后如何更改导航栏的色调?

在 AppDelegate 中设置初始视图控制器时完全黑屏

如何在 Swift 4 CoreData 中设置合并策略

在 Spotify iOS SDK 中设置身份验证令牌