美文网首页
tableView上移问题

tableView上移问题

作者: Locke | 来源:发表于2016-10-26 13:42 被阅读128次

在使用了 navigationController后,将包含三个tableView的视图贴到push出来的是视图上,出现tableView上移问题,效果如下:

tableView上移.png
遇到这种情况,解决方案有以下几种:
方案一:关闭tableView的自动适配布局,手动设置其位置
self.automaticallyAdjustsScrollViewInsets = NO;// 默认是YES

方案二:改变edgesForExtendedLayout

在iOS 7中,引入了关于edgesForExtendedLayout的新属性,默认值为UIRectEdgeAll(四周边缘均延伸)

self.edgesForExtendedLayout = UIRectEdgeNone;// 推荐使用
//还可以设置其为UIRectEdgeLeft /UIRectEdgeRight

这时会发现导航栏变灰了


导航栏变灰.png

可以将导航栏的半透明的属性关闭掉

self.navigationController.navigationBar.translucent = NO;

或者给window设置背景色

[UIApplication sharedApplication].keyWindow.backgroundColor = [UIColor whiteColor];
方案三:导航栏半透明属性设置为NO

在iOS 7之前translucent默认就是NO,在iOS 7就默认是YES了。将导航栏的半透明属性关闭掉,布局也是从导航栏下面开始了。

self.navigationController.navigationBar.translucent = NO;

参考
IOS开发-当遇到tableView整体上移时的解决方案
edgesForExtendedLayout iOS7新特性

相关文章

网友评论

      本文标题:tableView上移问题

      本文链接:https://www.haomeiwen.com/subject/wabduttx.html