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的時候,直接設定具體值即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM