写的有点晚了哈!
升级iOS15之后,有没有发现你的App导航栏上的状态栏颜色变了呢?
- navigationBar
if (@available(iOS 15.0, *)) {
UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init];
appearance.backgroundEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleRegular];
self.navigationBar.scrollEdgeAppearance = appearance;
}
- UITabbar
Tabbar的背景颜色值设置
if (@available(iOS 13.0, *)) {
UITabBarAppearance * appearance = [[UITabBarAppearance alloc] init];
// 背景色
appearance.backgroundColor = [UIColor whiteColor];
self.tabBar.standardAppearance = appearance;
if (@available(iOS 15.0, *)) {
self.tabBar.scrollEdgeAppearance = appearance;
}
}
- TableView
if (@available(iOS 15.0, *)) {
tableView.sectionHeaderTopPadding = 0;
}
//或者全局设置
if (@available(iOS 15.0, *)) {
[UITableView appearance].sectionHeaderTopPadding = 0;
}
除此之外再增加一点,就是当iPad横屏时,如果UI底部使用了UITabbar的话,需要注意TabBar的位置。
未适配之前:
适配之后:
// Tabbar frame
CGRect frame = CGRectMake(CGRectGetMinX(self.view.bounds), CGRectGetMaxY(self.view.bounds), self.view.bounds.size.width, 56.0);
if (@available(iOS 15.0, *)) {
frame.size.height += 20;
}