ios 11 开发新坑

作者: HeavenWong | 来源:发表于2017-09-26 15:09 被阅读35次

iOS 11 虽然是为了iPhone X而出台的,但有不少非iPhone X的用户也更新到了iOS 11,是时候来一波填坑了。

一、在iOS 11上运行tableView向下偏移64px或者20px,因为iOS 11废弃了automaticallyAdjustsScrollViewInsets,而是给UIScrollView增加了contentInsetAdjustmentBehavior属性。避免这个坑的方法是要判断

if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}else {
self.automaticallyAdjustsScrollViewInsets = NO;
}

二、tableView的sectionHeader、sectionFooter高度与设置不符

  • 因为tableView的estimatedRowHeight、estimatedSectionHeaderHeight、 estimatedSectionFooterHeight三个高度估算属性由默认的0变成了UITableViewAutomaticDimension。最简单的方法就是直接设置为0。再通过代理方法实现你实际想要的各种高度,满足UI的一切要求
_tableView.sectionFooterHeight = 0;
    _tableView.sectionHeaderHeight = 0;

三、iPhone X状态条由20px变成了44px,UITabBar由49px变成了83px。设置布局时y直接写成64的就要根据机型设置。可以设置宏

#define Device_Is_iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO),

然后再设置。

参考作者

相关文章

网友评论

    本文标题:ios 11 开发新坑

    本文链接:https://www.haomeiwen.com/subject/wwhdextx.html