2012-08-13 109 views
16

我對iOS非常陌生。我有一個用許多自定義單元格填充的UITableView,但當向下滾動時,底部單元格不可見。我的UITableView的Y值是44,高度是480.向下滾動時,只有最後一個單元格的一半是可見的。我該如何解決這個問題。UITableview在向下滾動時不可見最後一個單元

在此先感謝。

回答

62

使用 -

tableView.contentInset = UIEdgeInsetsMake(0, 0, 120, 0); //values 

傳遞是 - 上,左,下,按照您的需求正確

通行證底部偏移。

+1

這並沒有解決實際問題,視圖本身沒有對齊內容。 – 2012-08-13 04:25:28

+0

這幫助我解決了一個稍有不同的問題。在哪裏我想tableview滾動通過其最後一個單元格顯示一個活動指標。投我一票! – Tander 2014-03-13 13:05:25

+0

這也解決了我的問題。使用自定義導航控制器控件呈現表視圖,並具有與iDia相同的問題。 – mafiOSo 2014-07-30 09:24:52

2

如果頂部有一個可見的狀態欄,那麼它將佔用20px,這會將tableView按下來。爲了避免這種情況,做出的tableView高度460而不是480

+0

雖然你不應該硬編碼狀態欄的高度值,但應該使用類似於這個答案的東西http://stackoverflow.com/a/7038870/707983 – 2012-08-13 04:28:43

3

那是因爲你設置你的tableview的幀錯了,如果你的觀點有一個導航欄,通常使用此代碼:

CGRect frame = self.view.bounds; 
frame.height -= 44; 

44是導航欄的高度。

0

如果你是在iOS7並使用導航控制器工具欄,請務必將其設置爲半透明:

self.navigationController.toolbar.translucent = NO; 
0

對我來說,這是工作。

我註釋掉我的代碼

-(void)viewWillLayoutSubviews 
{ 
dispatch_async(dispatch_get_main_queue(), ^{ 
    //This code will run in the main thread: 
    CGRect frame = tableViewObj.frame; 
    frame.size.height = tableViewObj.contentSize.height;//commenting this code worked. 
    tableViewObj.frame = frame; 

}); 

} 

就是這樣。它爲我工作。請確保你在實現文件中沒有改變tableview框架。

相關問題