需求:
有个控制器A,包含一个UITableView。页面刚进入时导航栏透明,随着UITableView的上下滚动导航栏在透明和白色之间渐变
做法:
设置self.automaticallyAdjustsScrollViewInsets = NO,以便可以从导航栏位置开始布局。
现象:
点击UITableView的cell跳转到带导航栏的控制器B,然后点击返回pop回来,出现两种情况:
情况一: 当控制器A的导航栏滚动还未变为白色的任意位置push到B,pop回来没有问题。
情况二: 当控制器A的导航栏滚动变为白色的任意位置push到B,pop回来后,整个界面下移了导航栏的高度64。
疑惑:
明明已经设置了self.automaticallyAdjustsScrollViewInsets = NO,为什么还是下移了64?
解决方案:
self.extendedLayoutIncludesOpaqueBars = YES
说明:
控制器有个属性extendedLayoutIncludesOpaqueBars默认是NO,就是说控制器的布局不会把透明导航算
在内。