automaticallyAdjustsScrollViewInsets

最近在写项目的其中一个page,但是发现,autolayout都跟其他所有page相同,但是显示出来的效果不同:
webview上边被navigationBar遮挡住了

通过xcode的 Debug View Hierarchy 看到,正常的page:
UIWebView 占满全屏,灰色
_UIWebViewScrollView 占满全屏,透明
UIWebBrowserView 未全屏,实际显示web页面

如下图:
UIWebView:

automaticallyAdjustsScrollViewInsets_第1张图片
uiwebview.png

_UIWebViewScrollView:

automaticallyAdjustsScrollViewInsets_第2张图片
_UIWebViewScrollView.png

UIWebBrowserView:


automaticallyAdjustsScrollViewInsets_第3张图片
UIWebBrowserView.png

而出错的page,UIWebBrowserView 依然占满全屏

于是google之,发现 automaticallyAdjustsScrollViewInsets

果然发现只有这个不正常的page,设置了automaticallyAdjustsScrollViewInsets=false,而其它page都没有设置(默认是true)

那么来了解一下automaticallyAdjustsScrollViewInsets是做什么用的?
当automaticallyAdjustsScrollViewInsets = true时,如果view中存在唯一一个UIScrollView或者其子类view,那么它会自动设置相应的内边距,这样可以让view占满整个屏幕,又不会被navigation bar遮挡。这正是问题所在。

你可能感兴趣的:(automaticallyAdjustsScrollViewInsets)