在更新了iOS15和Xcode13后,出现了导航栏和底部栏设置失效的问题,并且下滑到底时底部栏的分割线会消失的问题。
原因
iOS15后,UINavigationBar、UIToolbar 和 UITabBar不再使用原先的api配置,而是使用UIBarAppearance的api,所以解决方法也很显而易见了,iOS15后不再使用原先的api,而是通过UIBarAppearance来设置,比如如下设置
if #available(iOS 15.0, *) {
let tabBarAppearance: UITabBarAppearance = .init()
tabBarAppearance.backgroundColor = .backgroundColorLevel1
self.navigationController?.tabBarItem.scrollEdgeAppearance = tabBarAppearance
self.navigationController?.tabBarItem.standardAppearance = tabBarAppearance
}
这样即可解决滑动后tabbar分割线消失的问题,UINavigationBar和UIToolbar也是同理