IOS 15新特性 - 导航栏 与TableView

新版本Xcode 13.3 问题

1、上包发现Xcode 13.3 构建成功后再苹果后台一直显示正在处理中。
Xcode13.2.1上包 则无问题
2、 xcode13.3 断点调试切换中文会卡死,不知什么原因 等待升级!

对导航栏适配

新增了一下属性
/// 描述当导航栏以紧凑的高度显示,并且关联的UIScrollView已到达与导航栏相邻的边缘时,导航栏要使用的外观属性。如果未设置,将首先尝试scrollEdgeAppearance,如果为零,则尝试compactAppearance,然后是修改后的standardAppearance.
@property(nonatomic,readwrite, copy, nullable) UINavigationBarAppearance *compactScrollEdgeAppearance UI_APPEARANCE_SELECTOR API_AVAILABLE(ios(15.0));

所以需要额外设置 scrollEdgeAppearance、standardAppearance

UINavigationBarAppearance *barApp = [UINavigationBarAppearance new];
barApp.backgroundColor = [UIColor whiteColor]; 
self.navigationController.navigationBar.scrollEdgeAppearance = barApp;
self.navigationController.navigationBar.standardAppearance = barApp;
//如果你对导航栏字体自定义 则需要多添加富文本
barApp.titleTextAttributes = self.navigationController.navigationBar.titleTextAttributes;

对tableView 的设配

新增sectionHeaderTopPadding 有默认高度
在style是UITableViewStylePlain状态下 每个section会新增一个这个高度,需要添加一下适配

全局:
 if (@available(iOS 15.0, *)) {
        [UITableView appearance].sectionHeaderTopPadding = 0.0;
    }
局部:
if (@available(iOS 15.0, *)) {
  _tableView.sectionHeaderTopPadding = 0;
}

或者tableView的style改为UITableViewStyleGrouped

你可能感兴趣的:(IOS 15新特性 - 导航栏 与TableView)