如果是最上面的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;
修复这个问题的快速方法就是在方法- (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的时候,直接设定具体值即可。