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

  • 相关阅读:
    来自lombok的注解(解决idea中的找不到get,set方法,找不到log的问题)
    IDL语言开发规范
    神经网络训练时出现nan错误
    Hadoop WordCount程序
    Hadoop2.4.1伪分布式安装
    Hadoop简介
    linux 安装tensorflow(gpu版本)
    高级映射,查询缓存和与spring整合
    用mybatis实现dao的编写或者实现mapper代理
    mybatis介绍与环境搭建
  • 原文地址:https://www.cnblogs.com/crazygeek/p/7597949.html
Copyright © 2011-2022 走看看