2015-05-17 53 views
2

我被一些先進的Autolayout主題卡住,我需要您的一些幫助。Autolayout:具有可變高度和兩個標籤的表格單元

我有寄託在左側的標籤,一個簡單的自定義表格單元格,和一個固定在右邊,很簡單:

enter image description here

現在,我想左側的標籤始終是在左上角,一行高,根據內容縮放其寬度,最大爲可用空間的50%(如果內容超過這個數量,我希望它用點來切斷):

enter image description here

正確的標籤我總是在右上角,向左延伸直到到達左側標籤的右側邊界。根據左側的標籤的寬度,右邊一個可能成爲寬或窄:

現在

enter image description here

,如果內容不適合右標籤,我希望它用幾行改變細胞的大小,但仍尊重左側標籤的大小:

enter image description here

我知道如何使標籤自動增長的表格單元格,但我不知道如何配置之間的關係左側和右側標籤正確。

有人可以幫我嗎?

非常感謝!

回答

1

您需要以下限制:

  • leftLabel寬度的限制,指出它應小於或等於上海華的width/2。給這個約束的優先級爲1000(絕對需要)。
  • leftLabel的落後與rightLabel的領先之間的水平間距約束,優先級低於上述但仍然需要(例如,900)。
  • 使leftLabel的水平內容擁抱優先1000

如何做的第一約束在廈門國際銀行:

基本上只是Ctrl + left clickleftLabel到上海華,添加Equal Widths約束,然後修改約束<=而不是=。還修改了Multiplier;而不是1,使其爲1:22:1,其中2對應於超級視圖的寬度。

+1

謝謝!這使它!我只想添加一件事:我無法將「寬度相等」約束設置爲標籤及其子視圖,在我的情況下它是表視圖單元格的內容視圖。因此,我只是在我的tableViewCell中添加了另一個UIView,它在所有四個邊界上約束爲0,並且將其餘的內容添加爲新視圖的超級視圖。 –

+0

啊是的 - 我忘了提及,你需要添加額外的「包裝」視圖,因爲你不能直接在單元格的「contentView」上設置一個等寬度約束。 –

相關問題