2016-11-19 74 views
0

我有cell其中包含tableView。我需要這個tableView實現datePicker擴大這樣的行爲:UITableViewAutomaticDimension不適用於包含tableView的單元格

enter image description here

但不是它,我有這樣的:

enter image description here

我的代碼非常簡單。在這兩個tableView s我設置estimatedRowHeightrowHeightUITableViewAutomaticDimension(在這種情況下,我有結果,第二個gif顯示。通過手動設置heightForRowAtIndexPath到特定高度值實現預期結果(第一個git))。但我有結果,我不期望。
此外,當我運行的應用程序,我有以下警告:

[]警告只有一次:檢測到其中的約束隱約暗示的零的實現代碼如下單元格的內容視圖的高度的情況下。我們正在考慮無意的崩潰並使用標準高度。

爲什麼會發生這種情況?並且可以通過不添加新的開銷代碼來獲得這項工作(例如,如果我使用intrinsic size做了一些魔術,我相信UITableViewAutomaticDimension會糾正工作)。

P.S.這裏是the demo project

+0

[UIView的animateWithDuration:0.5延遲:0選項:UIViewAnimationOptionCurveEaseOut動畫:^ { self.MainviewHight_Constrain.constant =給你的tableview HIGHT [self.view layoutIfNeeded]; }完成:^(BOOL完成){ Isshowsubmenu = NO; }];將此全部設置爲一個按鈕單擊方法。 –

回答

2

如果您使用的是UITableViewAutomaticDimension,則需要設置單元格的所有元素的約束,從頂部,左側,底部,右側。如果你不這樣做,那麼你會得到你在問題中顯示的警告。

+0

我發佈了這個問題之前,所有約束條件都已經設置好了。看起來這不是原因。 – pacification

+0

@pacification你需要設置所有4邊的約束檢查這個 - http://stackoverflow.com/questions/37638550/two-uilabels-on-uitable-with-dynamic-height/37638748#37638748 – Rajat

相關問題