首页 > 代码库 > IOS-当遇到tableView整体上移时的解决方案

IOS-当遇到tableView整体上移时的解决方案

方案一

在使用了navigationController后,当界面进行跳转往返后,时而会出现tableView或collectionView上移的情况,通常会自动上移64个像素,那么这种情况,我们可以关闭tableView的自动适配布局。

self.automaticallyAdjustsScrollViewInsets = NO;// 默认是YES

 

方案二:

当出现tableView整体上移时,你当然可以在 Xcode 中修改每个 View,将他们下移20个像素(状态栏高度)或者64个像素(状态栏+导航栏高度)。

但是苹果显然已经考虑到这个问题,他们早在 iOS 7 SDK 中为 ViewController 提供了一个 edgesForExtendedLayout 新属性。如果你将这个属性设置为UIRectEdgeNone,则 viewController 的所有子视图都会自动调整。

目前暂时也适用于不同系统版本代码更迭出现状况时使用。

self.edgesForExtendedLayout = UIRectEdgeNone;// 推荐使用

 

方案三

我曾经遇到过当我点击图片放大时,然后再返回,就会出现tableView整体上移20像素, 后来我发现是 MJPhotoBrowser 第三方框架的问题,然后我请教了我们组长,他后来在 MJPhotoBrowser.m  的控制器里添加了几句话

   

 

技术分享

当当当,就是我画出来的这个,然后就好啦

 

IOS-当遇到tableView整体上移时的解决方案