Swift-ScrollView自动下移的问题解决

本文属个人笔记,不做详解,仅供参考!

当导航栏存在时,ScrolloView的视图会自动下移。

automaticallyAdjustsScrollViewInsets属性介绍
  • automaticallyAdjustsScrollViewInsets 是 iOS7 后新增的属性,其默认值是 true
  • 当其为 true 时。控制器会根据所在界面的 statusbar、navigationbar、tabbar 的高度,自动调整 scrollview 的 inset,防止其被导航栏等遮挡
  • 这里的 scrollview 包括 UIScrollView,以及继承自 UIScrollView 的 UITableView、UICollectionView、UITextView 等
  • 要注意的是,如果有多个 scrollview,控制器只会自动调整其下第一个 scrollview 的 inset 属性
automaticallyAdjustsScrollViewInsets为true造成的问题

虽然自动调整 **inset **很方便,但有时也会造成一些问题。

  • 比如我们添加一个 textview,由于自动调整,textview 上面会空出一大块区域
  • 或者我们布局的时候就已经把导航栏考虑在内,即起始位置从 (0,64) 开始。但由于内边距的自动调成,会造成内容偏移
解决办法

将 scrollview 自动调整 inset 功能关闭即可,有两种方法修改。

  • 在代码中设置
    self.automaticallyAdjustsScrollViewInsets = false
  • 在 storyboard 中设置
storyboard设置.png

参考文章:航歌

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

推荐阅读更多精彩内容