IOS13以前は、次のコードを使用してタブバーの上部の境界線を削除しました。
UITabBar.appearance().shadowImage = UIImage()
UITabBar.appearance().backgroundImage = UIImage()
しかし、iOS13では動作しません。これに対する解決策を探しています。何か考えはありますか?
IOS 13では、透明度を構成するための組み込みメソッドを使用して、外観ベースのアプローチを使用できます。
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
}
そして、再び元に戻すには、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
}