最近在写项目的其中一个page,但是发现,autolayout都跟其他所有page相同,但是显示出来的效果不同:
webview上边被navigationBar遮挡住了
通过xcode的 Debug View Hierarchy 看到,正常的page:
UIWebView 占满全屏,灰色
_UIWebViewScrollView 占满全屏,透明
UIWebBrowserView 未全屏,实际显示web页面
如下图:
UIWebView:
_UIWebViewScrollView:
_UIWebViewScrollView.pngUIWebBrowserView:
UIWebBrowserView.png
而出错的page,UIWebBrowserView 依然占满全屏
于是google之,发现 automaticallyAdjustsScrollViewInsets
果然发现只有这个不正常的page,设置了automaticallyAdjustsScrollViewInsets=false,而其它page都没有设置(默认是true)
那么来了解一下automaticallyAdjustsScrollViewInsets是做什么用的?
当automaticallyAdjustsScrollViewInsets = true时,如果view中存在唯一一个UIScrollView或者其子类view,那么它会自动设置相应的内边距,这样可以让view占满整个屏幕,又不会被navigation bar遮挡。这正是问题所在。
网友评论