快速加载屏幕后如何重置badgeValue?

Posted

技术标签:

【中文标题】快速加载屏幕后如何重置badgeValue?【英文标题】:How to Reset the badgeValue after loading the screen in swift? 【发布时间】:2018-12-19 14:29:08 【问题描述】:

如果用户通过访问屏幕看到通知,我想重置 tapItem 的徽章值。

使用此代码,我创建了 badgeValue。但它永远不会被重置:

func createBadgecount() 
    if let tapItems = self.tabBarController?.tabBar.items as NSArray! 
        let tapItem = tapItems[3] as! UITabBarItem
        tapItem.badgeColor = UIColor.black
        tapItem.badgeValue = "\(reports.count)"

    

提前感谢您的帮助!

【问题讨论】:

【参考方案1】:

如果确实出现了此UIViewController,您希望将tabBar 中的selectedItem 中的badgeValue 设置为nil

所以添加到viewDidAppear

override func viewDidAppear(_ animated: Bool) 
    if let tabItem = self.tabBarController?.tabBar.selectedItem 
        tabItem.badgeValue = nil
    

【讨论】:

【参考方案2】:

你可以在

中设置值nil
override func viewDidAppear(_ animated: Bool) 
  if let tabItem = self.tabBarController?.tabBar.selectedItem 
    tabItem.badgeValue = nil
   

【讨论】:

@jo1995 我很高兴回答你。如果我对你有帮助,请给我点赞并纠正我。

以上是关于快速加载屏幕后如何重置badgeValue?的主要内容,如果未能解决你的问题,请参考以下文章

在初始加载时快速重置核心数据属性标志?

如何在移动方向更改时重置 Disqus 宽度

如何重置抽屉导航器打开的屏幕状态?

如何在提交表单后使用“加载”更改按钮文本并在以角度提交后重置表单

单击锚点后如何刷新页面并加载到顶部,忽略锚点并重置回顶部?

如何重置 chrome 检查器?