2017-01-22 98 views
0

我在故事板上有4個標籤,在基線對齊並且它們之間具有固定距離。 每個標籤在運行時可以有不同的值,我希望這4個標籤的組是水平居中的。故事板標籤約束

沒有成功解決它! 我試圖把它們放在一個視圖中並將視圖居中,但它也不起作用。 也嘗試玩優先級,但也沒有成功或者...

是否有可能在故事板中實現這一點?

+0

什麼,你可能尋找的是一個堆棧視圖。 –

+0

我同意賈斯汀。如果沒有堆棧視圖,這是一個公平的痛苦,並且使用**堆棧視圖來做**是微不足道的。 –

+0

如果每個標籤之間的距離是固定的,則此解決方案正常工作,但如果它們不同,堆棧視圖不允許... – Eric

回答

1

您可以通過將您的4個標籤放在另一個視圖中來做到這一點。添加以下約束:

  1. 設置標籤之間的固定距離約束(3個約束)。
  2. 設置約束以對齊標籤的基線(3個約束)。
  3. 將最左邊的標籤設置爲包含視圖的前導約束。將常數設置爲0
  4. 設置從最右邊的標籤到包含視圖的拖尾約束。將常數設置爲0
  5. 設置視圖高度的約束條件。
  6. 從左標籤的頂部到其包含視圖的頂部設置一個約束。
  7. 設置約束以水平居中視圖。
  8. 設置一個約束來垂直放置視圖。

視圖的寬度將取決於標籤的固有尺寸加上#1中距離的尺寸。該寬度將隨着標籤內容的變化而改變,並且該視圖將保持該組居中。


Showing constraints in Storyboard

+0

@Eric,你試過這個嗎?有沒有關於它的東西沒有用?我做了一個假設,你希望標籤的寬度是動態的。如果您希望它們被修復,請爲每個標籤添加一個寬度限制。 – vacawama

+0

嗨VacaWama,感謝您的回答,這正是我正在尋找的。有比堆棧視圖更多的約束,但我可以自定義標籤和基線對齊之間的距離,正是我所需要的。再次感謝 :) – Eric

0

您可以使用堆棧信息查看該:

enter image description here

在「屬性檢查器」例如,您可以設置每個文本字段都有平等的寬度和它們之間的5個點的間距:

enter image description here

然後,您可以使用您的堆棧視圖像你通常會做水平居中。

+0

嗨,感謝您的提示。嘗試過,但在我的例子中,標籤之間沒有相同的空格,並且堆棧視圖必須完全相同。 – Eric

+0

您是否設置了平均填充? – Emptyless

+0

是的,就我所見,如果它們處於堆棧視圖中,我不能在標籤之間放置水平約束。 – Eric