2016-01-24 37 views
0

我正在使用界面生成器來設置具有兩個標籤的表格視圖單元格。其中一個應該有動態高度,取決於它擁有多少文本。 (單元格也是基於標籤高度的動態高度。)我有約束正常工作 - 標籤和單元格根據輸入文本正確調整大小。我的問題是,要使它工作,我必須對高度> = 0的調整大小標籤設置約束。由於某種原因,IB強迫我使標籤0的屏幕高度,這使得很難看到/與...合作。下面的「標籤」的小點是0高度標籤:Autolayout Height> = 0 Interface Builder中的框架

enter image description here

如果我將它設置在高度大於0(這應該由約束被允許)約束的錯誤變成紅色:

enter image description here

我很好奇,爲什麼IB不會讓我設置的東西與高度比最低值越大其高度> =約束。有沒有辦法擺脫這個錯誤?

回答

0

使用標籤文本時,您不需要將高度設置爲UILabel。因爲它會根據字體大小自動獲取高度。您只需對兩個標籤給出垂直,頂部和底部約束,並從屬性檢查器中刪除默認文本。現在您可以創建具有動態高度的表格單元格。

頂標籤的限制: 前置,頂部

底部標籤的限制: 前置,底部 ,也給頂部和底部的標籤之間的垂直間距。

隨着自我大小的細胞高度,你可以得到你想要的結果。

參考網址:self-sizing-cells

這裏是約束的圖像,我已經設置: enter image description here

下面是兩個標籤約束的圖像。 enter image description here Label1 with text enter image description here Label2 without text

並我已經添加以顯示與結果數據的代碼示例。 enter image description here

希望它有助於解決您的問題。

+0

看起來像你有問題,我想盡量避免(你的第二個標籤似乎是0高度在IB –

+0

@MattCooper我的第二個標籤是0高度,因爲沒有內容第二個標籤,所以它的高度將自動變爲0.當使用標籤時,你不需要高度限制,因爲標籤的高度會根據你傳入的字符串自動增加或減少,所以我說的是你給的高度限制 –

+0

當我不給我的標籤高度限制時,我得到「高度對標籤不明確」(頂部標籤)和「高度和垂直位置對於Label2不明確」(較低標籤)。你避免這些錯誤? –