zoukankan      html  css  js  c++  java
  • tableView--iOS11适配和iPhoneX适配

    1UIScrollView及其子类在IOS 11之前的版本UI显示完全正常,但是在IOS 11上面会显示奇葩的界面。

    1)先看一下UITablevIew

    原本在VC里面的automaticallyAdjustsScrollViewInsets竟然过期了,在IOS 11 APPLE推荐使用UIScrollViewcontentInsetAdjustmentBehavior属性进行设置自动计算滚动视图的内容边距。

    @property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets

    IOS11SDK下,UIScrollView的这个属性

    @property(nonatomic) UIScrollViewContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior //这个属性是一个枚举类型的

    {

    UIScrollViewContentInsetAdjustmentAutomatic,//scrollView会自动计算和适应顶部和底部的内边距并且在scrollView 不可滚动,也会设置内边距.

    UIScrollViewContentInsetAdjustmentScrollableAxes,  //自动适应边距

    UIScrollViewContentInsetAdjustmentNever // automaticallyAdjustsScrollViewInsets=NO有着同样的效果,不计算内边距

    UIScrollViewContentInsetAdjustmentAlways//根据safeAreaInsets (安全区域)计算内边距

    }

    所以,在IOS 11 下,需要设置ScrollView

    self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

    如果需要全局设置的话,需要这么设置:

    if (@available(iOS 11.0, *)) {

     

    [[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];

    }

    这样设置后使用UITableview 、UICollectionView、UIScrollview的时候就不需要再单独设置该属性了,因为UIView以及他的子类都是遵循UIAppearance协议的。

  • 相关阅读:
    linux 内核配置
    使用 git 下载linux 源码
    订阅 linux 邮件列表注意的问题
    使用反射创建一维数组和二维数组
    反射API
    反射机制
    集合案例--对ArrayList容器中的内容进行排序
    Collections
    TreeSet
    Set容器
  • 原文地址:https://www.cnblogs.com/crazygeek/p/7597949.html
Copyright © 2011-2022 走看看