tableView的cell显示不全的问题

如果是最上面的cell没有显示完整

 1.重新设置tableview的frame:

例如你的搜索框高度为50,那么设置self.tableview.frame= CGRectMake(0,50,self.view.frame.width,self.view.frame.height-50)

2.设置tableview的头部偏移量self.tableview.contentInset = UIEdgeInsetsMake(50, 0, 0, 0);

 

在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。
修复这个问题的快速方法就是在方法- (void)viewDidLoad中添加如下一行代码:
self.edgesForExtendedLayout = UIRectEdgeNone;

 

如果是最下面的cell没有显示完整

今天在使用tableview的时候,遇到了Tableview最后一行无法显示或者显示不全的问题。

在控制器RootViewController中声明了一个UITableView类属性。其中RootViewController是navigationcontroller中的一个控制器

@property(,)myTableView;

初始化的时候,怕麻烦。初始化的时候——

self.myTableView = [UITableView alloc]initWithFrame:self.view.frame];

结果导致了显示不全的问题。

后来发现,由于navigationBar的高度的问题,导致self.view的frame发生了变化。大家可以自己试着打印一下,有navigationcontroller时候的frame

最后解决办法是:

设置frame的时候,直接设定具体值即可。

posted @ 2016-11-09 10:49  英杰的iOS  阅读(6386)  评论(0编辑  收藏  举报