1.导航栏和tabBar问题
iOS11之后如果设置了prefersLargeTitles = YES则为 96pt
,默认情况下还是
64pt
.
iPhoneX上由于刘海的出现statusBar由以前的20pt
变成了44pt
,所以iPhoneX上高度变为88pt
tabbar 高度由 49
变为 83
, 底下安全高度 34
导航栏高度由 64
变为 88
, 状态栏 20
变为 44
2.UITableView和UICollectionView位置错乱问题
升级后,发现某个拥有tableView的界面错乱,组间距和 contentInset
错乱,因为iOS11中 UIViewController 的 automaticallyAdjustsScrollViewInsets
属性被废弃了,因此当tableView超出安全区域时,系统自动会调整SafeAreaInsets
值,进而影响adjustedContentInset
值
解决方法一:
// 解决方法一:添加实现View的代理方法
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
return nil;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
return nil;
}
解决方法二:添加以下代码关闭估算行高
self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;
3.导航栏返回按钮问题:
UIImage *backImage = [[UIImage imageNamed:@"btn_back_normal"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-100000, 0) forBarMetrics:UIBarMetricsDefault];
self.navigationBar.backIndicatorImage = backImage;
self.navigationBar.backIndicatorTransitionMaskImage = backImage;
网友评论