iOS11适配

1. iOS11 controller中自定义的返回图标会被系统navigationController的返回图标覆盖,所以改用使用navigationController的返回按钮,controller中的navigationBar返回按钮不再显示

2. 自定义的NavigationBar在显示时比系统默认上移了状态栏的高度

在添加NavigationBar中时,需要偏移状态栏的高度,并高度减少状态栏的高度


3. NavigationItem.titleView 自定义时会出现UI对齐问题

需要使用自定义的view,重写方法:


- (CGSize)intrinsicContentSize

{
    return UILayoutFittingExpandedSize;
}

4. UITableView footer和header会有额外的高度

需要设置:

self.estimatedSectionFooterHeight=0.f;

self.estimatedSectionHeaderHeight=0.f;

5. 下拉刷新控件出现下拉错位的问题

需要设置:

scrollView.contentInsetAdjustmentBehavior=UIScrollViewContentInsetAdjustmentNever;

scrollView.contentInset=UIEdgeInsetsMake(64.f,0.f,49.f,0.f);

scrollView.scrollIndicatorInsets= scrollView.contentInset;

6. controller push到navigationController时,出现crash CALayer bounds contains NaN

原因是navigationItem.titleView为UILabel时,如果设置text为@""可能出现,改为text为nil


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