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

  • 相关阅读:
    ZooKeeper 到底解决了什么问题?
    10个 Linux 命令,让你的操作更有效率
    你的镜像真的安全吗?
    谁动了我的主机? 之活用History命令
    Linux vs Unix
    Linux应急响应入门——入侵排查
    (一)Sharding-JDBC分库分表概述
    (三)微服务的注册中心—Eureka
    (二)springcloud功能组件
    (一)微服务基础
  • 原文地址:https://www.cnblogs.com/crazygeek/p/7597949.html
Copyright © 2020-2023  润新知