2017-03-17 64 views
1

調整單元格的大小用UITableViewAutomaticDimension隱藏UITableView中UI元素的最佳方法是什麼?在UITableViewCell中隱藏UI元素並根據

我在單元格中有多個標籤,按鈕和圖像。對於特定的情況,我想隱藏其中的一些,並希望tableview相應地調整大小。

如果我錯過了一些東西,請糾正我。

+0

在UIImageView的情況下,您必須將其高度約束設置爲0,只需將UILabel的文本設置爲空字符串,只要其高度從其內容推斷即可。如果你已經明確地設置了高度,你將需要找出約束的出口並將其設置爲0. – Rikh

+0

單元格中有大約25個元素,並且一些標籤是可能存在或不存在的第0行。所以爲它們寫高度限制會很麻煩。建議儘可能使用其他方法 –

+0

只要UILabel爲空,它們的高度將爲0,並且自動尺寸不會有任何問題,但是它們的垂直間距約束仍然有效。您可以通過編程方式遍歷視圖中的所有元素,然後迭代每個元素的約束,直到找到高度約束並將其設置爲0,但這將需要大量處理。除此之外,我很抱歉,我不知道:D – Rikh

回答

1

使用StackView。

StackView會管理它,當元素隱藏時它們會自動調整大小。 使用StackView中的tableview細胞

Click Here如何使用StackView

Click Here For Example,這將幫助你更瞭解。

+0

肯定會通過並讓你知道。 –

+1

祝你好運,我向你展示了麪糊理解的例子。 – Ujesh

+0

感謝兄弟一定會通過它 –

0

如果您使用UITableViewAutomaticDimension那麼您必須以編程方式更新約束。

即,如果你有2個標籤和2個按鈕,並且你想隱藏在標籤上點擊其中一個按鈕。那麼你必須管理該標籤的高度約束來管理自動管理單元高度。

+0

感謝您的幫助@jatin但問題是,單元格中有大約25個元素,並且一些標籤是可能存在或不存在的第0行。所以爲它們寫高度限制會很麻煩。如果可能,請提出其他方法。 –

+1

然後你必須去stackview。但唯一的問題是支持stackview的是iOS 9和後者的iOS版本。 –

+0

我的項目支持iOS 9+,所以沒有問題。會給它一個鏡頭,讓你知道。 –