iOS 15适配

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
        }

你可能感兴趣的:(iOS 15适配)