it-swarm.com.ru

Как установить значок панели вкладок с помощью swift?

Как установить значок панели вкладок с помощью Swift? например, когда я получаю новое сообщение с номером 1 на значке сообщения! Должен ли я использовать UITabBarItem.Swift и написать код в нем! Я не совсем уверен, как я могу это сделать 

Спасибо !

17
Faris

Если вы получили ссылку на tabBarController (например, из UIViewController), вы можете сделать следующее:

if let tabItems = tabBarController?.tabBar.items {
    // In this case we want to modify the badge number of the third tab:
    let tabItem = tabItems[2]
    tabItem.badgeValue = "1"
}

Из UITabBarController это будет tabBar.items вместо tabBarController?.tabBar.items

и удалить значок: 

tabItem.badgeValue = nil
53
Lepidopteron

Следующая строка может помочь вам показать значок в UITabBerItem

tabBarController?.tabBar.items?[your_desired_tabBer_item_number].badgeValue = value
13
Rupom

Установите badgeValue в ViewDidAppear. В противном случае он может не появиться при загрузке приложения.

import UIKit

class TabBarController: UITabBarController {

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    self.tabBar.items![2].badgeValue = "7"
}

}

Нет безопасных проверок, так как вы в целом уверены, что у вас есть TabBar с n вкладками. 

2
wzbozon

Благодаря @Lepidopteron, мгновенное решение для меня . Кроме того, вы можете сделать это с помощью индекса выбранной вкладки: 

let tabItems = self.tabBarController?.tabBar.items as NSArray!
    var selectedIndex = tabBarController!.selectedIndex //here 
    let tabItem = tabItems![selectedIndex] as! UITabBarItem
    tabItem.badgeValue = "2"

Получил ссылку от это пост

1
LagMaster