美文网首页
adjustContentInset属性的计算方式

adjustContentInset属性的计算方式

作者: August24 | 来源:发表于2018-03-06 13:50 被阅读19次

scrollView在iOS11新增的两个属性:adjustContentInset 和 contentInsetAdjustmentBehavior。

/* When contentInsetAdjustmentBehavior allows, UIScrollView may incorporate
 its safeAreaInsets into the adjustedContentInset.
 */
@property(nonatomic, readonly) UIEdgeInsets adjustedContentInset API_AVAILABLE(ios(11.0),tvos(11.0));

adjustContentInset表示contentView.frame.origin偏移了scrollview.frame.origin多少;是系统计算得来的,计算方式由contentInsetAdjustmentBehavior决定。有以下几种计算方式:

  1. UIScrollViewContentInsetAdjustmentAutomatic:如果scrollview在一个automaticallyAdjustsScrollViewContentInset = YEScontroller上,并且这个Controller包含在一个navigation controller中,这种情况下会设置在top & bottomadjustedContentInset = safeAreaInset + contentInset不管是否滚动。其他情况下与UIScrollViewContentInsetAdjustmentScrollableAxes相同

  2. UIScrollViewContentInsetAdjustmentScrollableAxes: 在可滚动方向上adjustedContentInset = safeAreaInset + contentInset,在不可滚动方向上adjustedContentInset = contentInset;依赖于scrollEnabledalwaysBounceHorizontal / vertical = YESscrollEnabled默认为yes,所以大多数情况下,计算方式还是adjustedContentInset = safeAreaInset + contentInset

  3. UIScrollViewContentInsetAdjustmentNever: adjustedContentInset = contentInset

  4. UIScrollViewContentInsetAdjustmentAlways: adjustedContentInset = safeAreaInset + contentInset

contentInsetAdjustmentBehavior设置为UIScrollViewContentInsetAdjustmentNever的时候,adjustContentInset值不受SafeAreaInset值的影响。

相关文章

  • adjustContentInset属性的计算方式

    scrollView在iOS11新增的两个属性:adjustContentInset 和 contentInset...

  • Swift 静态属性

    Swift 属性按照 定义方式 分为: 存储属性计算属性 按照 调用方式 分为: 实例属性类型属性(静态属性) 实...

  • 11 - 基础篇之类的定义及使用

    一、类的属性分为以下3种方式 存储属性:存储实例的常量和变量 计算属性:通过某种方式计算出来的属性 类属性:与整个...

  • swift类的属性_存储属性|计算属性|类属性

    类的属性介绍 Swift中类的属性有多种: 存储属性:存储实例的常量和变量 计算属性:通过某种方式计算出来的属性 ...

  • 13.对象字面量的扩展

    对象字面量的扩展 对象属性名,方法名的简写方式 计算属性

  • 18.Swift学习之属性与方法

    类的属性介绍 Swift中属性有多种存储属性:存储实例的常量和变量计算属性:通过某种方式计算出来的属性类属性:与整...

  • vue基础

    一、 计算属性与方法比较 计算属性: 方法: 可以将同一函数定义为一个方法而不是一个计算属性。两种方式的最终结果确...

  • swift--类

    类的属性 1.存储属性:存储常量和变量 2.计算属性:通过某种方式计算出来的属性 3.类的属性:与整个类目相关联的...

  • swift 属性

    swift中属性有多种功能 存储功能:存储实例的常量和变量 计算功能:通过某种方式计算出来的属性 类属性: 与整个...

  • 从零学习Swift 07:属性

    Swift 中的属性分为两大类:存储属性 , 计算属性 一: 存储属性 存储属性类似于成员变量,定义方式很简单: ...

网友评论

      本文标题:adjustContentInset属性的计算方式

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