1.automaticallyAdjustsScrollViewInsets使用场景
automaticallyAdjustsScrollViewInsets是iOS 7中加入的,它的默认值为YES。
- 如果视图里面存在唯一一个UIScrollView或其子类View,那么它会自动设置相应的内边距,这样可以让scrollView占据整个视图,又不会让导航栏、tabBar遮挡(这个是控制器根据所在界面的status bar,navigationBar,与tabBar的高度,自动调整scrollview的 inset)。
- 如果视图中存在多个UIScrollView或其子类View,automaticallyAdjustsScrollViewInsets 只会对栈顶控制器管理的第一个scrollView起作用,第一个scrollView会自动inset。
2.不需要这个属性来自动缩进或缩进之后影响显示的两种解决方法
禁用掉自动设置的内边距,手动调整controller上index为0的控件以及scrollview控件的位置。
self.automaticallyAdjustsScrollViewInsets = NO设置edgesForExtendedLayout,不需要再重新设置index为0的控件的位置以及scrollview的位置,(0,0)默认的依然是从导航栏下面开始算起。
self.edgesForExtendedLayout = UIExtendedEdgeNone
相关参考:
https://stackoverflow.com/questions/21069258/automaticallyadjustsscrollviewinsets-not-working