1、导航栏和底部栏的适配
在iOS 15中,UINavigationBar默认为透明。在滑动时会有模糊效果。UINavigationBar、UIToolbar 和 UITabBar 将在你的VC关联滚动视图位于适当的边缘时使用 scrollEdgeAppearance。如果不想要透明设置如下:
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 增加一个默认高度,当我们使用 UITableViewStylePlain 初始化UITableView 的时候,系统默认给 section header 增高了22像素。
解决办法:
if #available(iOS 15.0, *) {
tableView.sectionHeaderTopPadding = 0
}