美文网首页
iOS 11更新后以及iPhone X推出后工程中遇到的问题及适

iOS 11更新后以及iPhone X推出后工程中遇到的问题及适

作者: 梁苏珍 | 来源:发表于2017-11-02 09:42 被阅读0次

1.UITableView滑动时右侧的滑动条忽长忽短的乱跳以及MJRefresh上拉刷新死循环

这是因为tableView在iOS11默认使用Self-Sizing,tableView的estimatedRowHeight、estimatedSectionHeaderHeight、estimatedSectionFooterHeight三个高度估算属性由默认的0变成了UITableViewAutomaticDimension,MJRefresh的KVO会监听错误的contentoffset,造成不停进行上拉加载操作,

解决方法可以再全局里面将上面3个属性的默认值设置为0即可

 UITableView.appearance.estimatedRowHeight =0;

UITableView.appearance.estimatedSectionFooterHeight =0;

UITableView.appearance.estimatedSectionHeaderHeight =0;

2.在iOS 11中tableview的contentsize默认下移了64高度

在iOS 11中UIViewCOntroller的 automaticallyAdjustsScrollViewInsets 属性被废弃了取而代之的是UIScrollVIew的contentInsetAdjustmentBehavior属性,同样的也可以更改默认的值

if(@available(iOS11.0, *)) {

UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

}else{

// Fallback on earlier versions

self.automaticallyAdjustsScrollViewInsets = NO;

}

然而这样写在调用相册的时候当推出系统相册的时候将系统页面contentSize的下移取消掉了导致出现了大问题,所以又将上面的默认值去掉在特定的界面修改即可

3.项目在iPhone X上运行时上下都有巨大的黑边

解决方法:因为项目中是用Assets中的LaunchImage, 这样就可以修改Assets中的LaunchImage,添加iPhoneX的Launch图(1125*2436)即可,但是

iOS11以前,导航栏的高度是64,其中状态栏statusBar的高度是20,底部tabbar的高度是49。

iOS 11之后,iPhoneX的导航栏的高度是88,其中状态栏的statusBar的高度变成了44, 底部的tabbar变成了83。

iPhoneX的底部增加了虚拟Home区,由于安全区域的原因默认tabBar的高度由49变为83,增高了34,所以自定义的底部TabBar也需要修改其适配方案。

// 判断是否是iPhone X

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

//宏定义

// 状态栏高度

#define STATUS_BAR_HEIGHT (iPhoneX ? 44.f : 20.f)

// 导航栏高度

#define NAVIGATION_BAR_HEIGHT (iPhoneX ? 88.f : 64.f)

// tabBar高度

#define TAB_BAR_HEIGHT (iPhoneX ? (49.f+34.f) : 49.f)

// home indicator

#define HOME_INDICATOR_HEIGHT (iPhoneX ? 34.f : 0.f)

#define IS_OS_7_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)

摘抄:http://www.cocoachina.com/ios/20171031/20999.html

相关文章

网友评论

      本文标题:iOS 11更新后以及iPhone X推出后工程中遇到的问题及适

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