Avant iOS13, j'utilisais le code ci-dessous pour supprimer la bordure supérieure de la barre d'onglets:
UITabBar.appearance().shadowImage = UIImage()
UITabBar.appearance().backgroundImage = UIImage()
Mais cela ne fonctionne pas avec iOS13, et je cherche une solution à cela. Avez-vous des pensées?
Dans iOS 13, vous pouvez utiliser une approche basée sur l'apparence avec des méthodes intégrées pour configurer la transparence:
if #available(iOS 13, *) {
let appearance = self.tabBar.standardAppearance.copy()
appearance.configureWithTransparentBackground()
tabBar.standardAppearance = appearance
} else {
tabBar.backgroundImage = UIImage()
tabBar.shadowImage = UIImage()
tabBar.barTintColor = UIColor.clear
}
Et pour le modifier à nouveau, vous pouvez faire la même chose en utilisant configureWithDefaultBackground ():
if #available(iOS 13, *) {
let appearance = self.tabBar.standardAppearance.copy()
appearance.configureWithDefaultBackground()
tabBar.standardAppearance = appearance
} else {
tabBar.barTintColor = nil
tabBar.backgroundImage = nil
tabBar.shadowImage = nil
}