美文网首页
iOS11适配问题

iOS11适配问题

作者: tanghaiyang | 来源:发表于2017-09-28 14:13 被阅读0次

可以先看一下这篇文章edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets属性详解

iOS11中已经弃用automaticallyAdjustsScrollViewInsets

查阅发现 iOS11弃用了automaticallyAdjustsScrollViewInsets属性,新增contentInsetAdjustmentBehavior来替代它
@property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets API_DEPRECATED_WITH_REPLACEMENT("Use UIScrollView's contentInsetAdjustmentBehavior instead", ios(7.0,11.0),tvos(7.0,11.0)); // Defaults to YES

  1. 滚动条高度跳动、上下拉刷新问题:
self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;
  1. 列表/页面偏移

本来是这样的

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

目前发现所有的Scrollview 及其子类都需要设置 contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever ,工程中大量使用列表的同学不要慌,不要忙,因为UIView及其子类都遵循UIAppearance协议,我们可以进行全局配置:

// AppDelegate 进行全局设置
    if (@available(iOS 11.0, *)){
        [[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
    }

这样一来使用UITableview 、UICollectionView、UIScrollview的时候就不需要再单独设置该属性了。
参考文档:
10分钟适配 iOS 11 & iPhone X
/***
【链接】10分钟适配iOS11&iPhoneX
http://www.cocoachina.com/ios/20170925/20642.html
1.http://www.cocoachina.com/ios/20170915/20580.html 简书App适配iOS 11
2.http://www.jianshu.com/p/efbc8619d56b iOS 11 安全区域适配总结
3.http://www.cocoachina.com/ios/20170802/20101.html 适配iOS11 - UITableview UICollectionView MJRefresh下拉刷新错乱
4.http://www.cocoachina.com/ios/20170917/20590.html iPhone X 和 iOS11的简单适配
5.http://www.jianshu.com/p/352f101d6df1 App界面适配iOS11
https://github.com/squarefrog/UIDeviceIdentifier
***/

相关文章

网友评论

      本文标题:iOS11适配问题

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