Comment définir le badge barre de tabulation avec Swift? Par exemple, lorsque je reçois un nouveau message indiquant le numéro 1 sur l'icône du message! Dois-je utiliser UITabBarItem.Swift et écrire le code qu'il contient!
Je vous remercie !
Si vous avez obtenu la référence à tabBarController (par exemple de UIViewController), vous pouvez procéder comme suit:
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"
}
Depuis un UITabBarController, il s'agirait de tabBar.items
au lieu de tabBarController?.tabBar.items
et supprimer le badge:
tabItem.badgeValue = nil
La ligne suivante peut vous aider à afficher un badge dans UITabBerItem
tabBarController?.tabBar.items?[your_desired_tabBer_item_number].badgeValue = value
Définissez badgeValue
dans ViewDidAppear
. Sinon, il pourrait ne pas apparaître lors du chargement de l'application.
import UIKit
class TabBarController: UITabBarController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.tabBar.items![2].badgeValue = "7"
}
}
Aucune vérification en toute sécurité puisque vous êtes en général sûr que vous avez TabBar
avec n onglets.
Merci à @Lepidopteron, solution instantanée pour moi . De plus, vous pouvez le faire avec l'index de l'index de tabulation sélectionné:
let tabItems = self.tabBarController?.tabBar.items as NSArray!
var selectedIndex = tabBarController!.selectedIndex //here
let tabItem = tabItems![selectedIndex] as! UITabBarItem
tabItem.badgeValue = "2"
Vous avez la référence de this post