2016-09-20 37 views
4

我有兩個UILabels酒吧:自動佈局限制設置標籤水平

[LeftMsg       RightMsg] 

我想設置的規則是:

  1. RightMsg永遠是完全可見,右對齊和取它需要的房間。
  2. LeftMsg左對齊,並採取其餘的房間。

例如,如果LeftMsg讀取"This very long message does not fit the bar",它必須被顯示如下:

[The very long message does n... RightMsg] 

我設置水平自動佈局constrants如下:

LeftMsg.leading = Superview.leading 
RightMsg.trailing = Superview.trailing 
LeftMsg.trailing <= RightMsg.leading 

(如果使用平等在最後一個約束中,XCode告訴我們有一個內容優先模糊)。

現在,它的工作原理如下:

[The very long message does not fit the...] 

這不是我所需要的。

任何人都可以建議我如何正確設置約束來實現我所需要的?

+1

你通過內容壓縮性屬性設置爲正確的標籤試過嗎? – Sreekanth

回答

4

我認爲你能爲你的比正確的信息:標籤的左邊標籤設置較低的水平擁抱優先級,而在同一時間,比左的右的訊息標籤,設置更高水平的壓縮性優先消息標籤。

例如,您可以像這樣爲標籤設置內容擁抱優先級和壓縮阻力優先級。

左標籤:內容擁抱優先級(H:250,V:25​​1) 耐壓縮性的優先級(H:750,V:750)

右標籤:內容擁抱優先級(H:251,V:25​​1 ) 壓縮電阻優先(H:751,V:750)

您可以在此tutorial中看到有關內容擁抱和壓縮電阻的更多信息。

3
  1. 設置左側的標籤的內容壓縮性財產750

content Compression resistance property

  • 設置內容抱死優先權的權利標籤的250
  • Content Hugging Priority

    -2

    請點擊此,

    • 第一組上同時查看標籤。

      enter image description here

      1. 設置約束觀是上,下,左,水平居中對齊 。
      2. 設置左標籤的約束條件爲「頂部」,「底部」,「前導」和「尾部」 。
      3. 爲右標籤設置約束條件爲頂部,底部和尾部。
      4. 選擇兩個標籤並設置等高和等寬。

    成品....