iOS开发中当TableView遇到导航栏自动下移的解决方案
在iOS的开发中,当TableView遇到导航栏后自动下移的解决方案:
文章转载至 :http://www.code4app.com/blog-826368-806.html
方案一:
在视图控制其中使用了navigationController后,时而会出现tableView或collectionView下移的情况,通常会自动下移64个像素,那么在这种情况下,我们可以通过下面的这个属性来关闭tableView的自动适配布局:
用代码修改:
1 |
|
如果用SB的话可以做一下修改:
方案二:
当出现tableView整体下移时,我们可以在 Xcode 中修改每个 View,将他们上移20个像素(状态栏高度)或者64个像素(状态栏+导航栏高度)。其实苹果早已经考虑到这个问题了,早在 iOS 7 SDK 中为 ViewController 提供了一个 edgesForExtendedLayout 新属性。如果将这个属性设置为UIRectEdgeNone,则 viewController 的所有子视图都会自动调整。眼下暂时也适用于不同系统版本代码更迭出现状况时使用。
1 |
|
为什么要推荐使用这个属性来设置呢,这个属性和其他的不同,因为它是一个枚举(设置起来也比较方便,它可以根据我们自己的需要去设置)
1 2 3 4 5 6 7 8 |
|
方案三:
我们也可以通过设置导航栏是否是半透明的(Translucent)属性来修改TableView的下移情况,该属性默认是YES,只需将其修改为NO就可以了:
用代码修改:
1 |
|
如果用SB的话可以进行如下修改: