2017-03-01 44 views
1

我創建的UITableViewCell與以下層次在UITableViewCell中添加UITableView。 TableView中高度使得基於內容

包含的UITableViewCell ------內容查看 ------------滾動型 ----- ------------- TableView

在TableView上滾動停止。

我已經在自定義類中實現了Table委託和數據源的TableView的高度約束的出口。

直到這一點數據是可見的一個問題。 [表格高度是固定的,通過xib設置爲50 px]

現在在willDisplay調用中,我正在更新tableview內容大小的高度約束。但是這不會立即更新。一旦我滾動表格查看它顯示更新的高度表。

圍繞約束的常量顯示正確顯示,但UI顯示舊的高度,雖然我已經調用了tableview的reloadData。遺漏這裏...

GitHub的鏈接:https://github.com/sagarmane19/Sample-Apps

回答

1

1,創建了內部tableView與以下重寫自定義類:在你看來控制器

class InnerTableView: UITableView { 
    override var intrinsicContentSize: CGSize { 
     return self.contentSize 
    } 
} 

2.Return UITableViewAutomaticDimensionheightForRow方法:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
    return UITableViewAutomaticDimension 
} 

3.確保您有topbottom單元內部的約束tableView

+0

我已經嘗試過這種方法。現在能夠看到更多的細胞,其中更早顯示只有一個細胞。這是它現在的樣子:https://sagarm.tinytake.com/sf/MTM3Nzc2NF81MDA3MDg2 –

+0

GitHub鏈接:https://github.com/sagarmane19/Sample-Apps –

+0

@Sagar ...是的,關鍵是您沒有爲具有動態高度的視圖指定高度約束,而是依賴於自動佈局。 – alexburtnik