1、導(dǎo)航欄和底部欄的適配
在iOS 15中,UINavigationBar默認為透明。在滑動時會有模糊效果。UINavigationBar、UIToolbar 和 UITabBar 將在你的VC關(guān)聯(lián)滾動視圖位于適當(dāng)?shù)倪吘墪r使用 scrollEdgeAppearance。如果不想要透明設(shè)置如下:
navigationBar
if #available(iOS 15.0, *) {
let bar = UINavigationBarAppearance()
bar.backgroundColor = UIColor.rgbColorFromHex(rgb: 0x0855FF)
bar.titleTextAttributes = [NSAttributedString.Key.foregroundColor :UIColor.white]
// bar.backgroundEffect = nil
self.navigationBar.scrollEdgeAppearance = bar // 可滑動界面配置
self.navigationBar.standardAppearance = bar // 普通頁面配置
self.navigationBar.isTranslucent = false
}
tabBar
if #available(iOS 15.0, *) {
let bar = UITabBarAppearance()
bar.stackedLayoutAppearance.normal.titleTextAttributes = [NSAttributedString.Key.foregroundColor :UIColor.rgbColorFromHex(rgb: 0x1E1E1E)]
bar.stackedLayoutAppearance.selected.titleTextAttributes = [NSAttributedString.Key.foregroundColor :UIColor.rgbColorFromHex(rgb: 0x1E1E1E)]
bar.backgroundColor = .white
self.tabBar.scrollEdgeAppearance = bar
self.tabBar.standardAppearance = bar
}
2、iOS 15 UITableView sectionHeader下移22像素
iOS 15中 UITableView 新增了一個屬性:sectionHeaderTopPadding。此屬性會給每一個 section header 增加一個默認高度,當(dāng)我們使用 UITableViewStylePlain 初始化UITableView 的時候,系統(tǒng)默認給 section header 增高了22像素。
解決辦法:
if #available(iOS 15.0, *) {
tableView.sectionHeaderTopPadding = 0
}