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协议的。

  • 相关阅读:
    Oracle startup startup nomount startup mount 的区别
    Linux 查看磁盘是否为SSD
    Spark入门实战系列--4.Spark运行架构
    Hbase 的java 增删改查操作
    Hbase 的一些重要网站链接,有空没空的搂两眼
    一段生成大数据测试数据的java code 片段
    一段简单的java 代码,用于日期格式转化
    一个简单的jsp 页面
    Scala 版 word count
    db2expln 查看执行plan
  • 原文地址:https://www.cnblogs.com/crazygeek/p/7597949.html
Copyright © 2011-2022 走看看