Как сбросить значение badgeValue после загрузки экрана в swift? - PullRequest
0 голосов
/ 19 декабря 2018

Я хочу сбросить значение значка 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)"

    }
}

Заранее спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Вы хотите установить badgeValue из selectedItem в tabBar на nil, если это UIViewController появилось.

Так что добавьте это к viewDidAppear

override func viewDidAppear(_ animated: Bool) {
    if let tabItem = self.tabBarController?.tabBar.selectedItem {
        tabItem.badgeValue = nil
    }
}
0 голосов
/ 19 декабря 2018

Вы можете установить значение nil в

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