2014-11-14 72 views
0

我嘗試了iOS 8的UITableViewCell動態高度的autoLayout功能,我跟着這個博客http://www.appcoda.com/self-sizing-cells/。所以在這裏他們提到,從iOS 8管理動態高度是無憂無慮的(在他們使用快速,但我使用客觀C)的鏈接使用iOS 8管理UITableviewCell的動態高度

現在從xib自動佈局後,我們需要寫這行在viewDidLoad中

- (void)viewDidLoad 
{ 
    m_tableView.estimatedRowHeight = 83.0f; 
    m_tableView.rowHeight = UITableViewAutomaticDimension; 
} 

代碼這是罰款和我的tableView高度的變化動態地根據內容。

我想知道如何更好地控制UITableViewCell的高度。 1)在我的應用程序中,我希望單元格高度基於內容(數據),但我需要有一個默認高度,如果內容高度小於默認高度,將應用默認高度。

2)我想知道在顯示給用戶之前單元格的最終高度是多少,因爲我想在每個單元格下面添加一些UI元素。

那麼我需要用什麼函數來完成我的任務。

回答

1

您需要確保Storyboard原型單元從上到下有NSLayoutConstraints。動態單元大小可以壓縮任何佈局約束條件,以達到其最大壓縮比率,假設cellForRowAtIndexPath中設置的內容用於計算該單元格的最終渲染高度。這非常方便,但這也意味着您需要小心地正確設置約束。

如果要以編程方式添加子視圖,則需要確保相同的經驗法則爲真 - 從單元格的contentView頂部到底部有一組完整的確定性約束。此外,您需要將代碼translatesAutoResizingMaskIntoConstraints中添加的任何子視圖設置爲NO

+0

你好@凱勒,我沒有正確理解你 – Ranjit 2014-11-22 13:36:05

相關問題