在布局一个经典的个人主页时遇到一个问题:
每次当按home键将应用退到后台,再唤醒的时候,布局出现错乱
退到后台之前
退到后台之后
由于退出到后台是不会调用controller的viewWillAppear/viewWillDisappe之类的 排除在这里面修改了
检查了AppDelegate中的applicationDidBecomeActive/applicationWillEnterForeground也没有修改相关的东西
这就很奇怪了
遂怀疑是不是引入的三房库偷偷修改了什么,之前就遇到过一个下拉加载的库默默的修改了contentInsets 一顿检查后仍然没有任何发现
这时候注通过打印日志,对比发现一个原来是scrollView的contentInsets被修改了
错乱前的scrollView相关属性
错乱后的scrollView相关属性
仔细一看top 20,这不是statusBar的高度吗? bottom 49 这不是tabBar的高度吗?
难道是系统自动的根据我因为加入到tabBar中给我修改了contentInsets?
一查。。原来真的是有这么回事
看看官方文档中对automaticallyAdjustsScrollViewInsets的解释
xcode documents
原来就是他。只要在viewController中设置这个属性为false就行了
设置automaticallyAdjustsScrollViewInsets