[5] Safe Area Layout (iOS 11)

UIView

  • 默认值:
    View Controller 的 View 的 safeAreaInsets (在viewDidAppear 查看):

    1. 不在Navigation Controller中:{20, 0, 0, 0 }
    2. 在Navigation Controller中:{64, 0, 0, 0 }
    3. View Controller 的 additionalSafeAreaInsets : {0, 0, 0, 0 }
  • 修改后:
    修改View Controller 的 additionalSafeAreaInsets 后:
    view.safeAreaInsets = view.safeAreaInsets + vc. additionalSafeAreaInsets

UIScrollView

由 contentInsetAdjustmentBehavior 决定:

  • never: adjustedContentInset = safeAreaInsets
  • always: adjustedContentInset = contentInset + safeAreaInsets
  • scrollableAxes:
    可滚动方向: adjustedContentInset = contentInset + safeAreaInsets
    可不滚动方向:adjustedContentInset = contentInset
  • automatic:
    automaticallyAdjustsScrollViewInsets = YES: adjustedContentInset = contentInset + safeAreaInsets
    automaticallyAdjustsScrollViewInsets = NO:与scrollableAxes 相同。

参考资料:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容