我有兩個標籤,L1和L2的變量和不相同的長度。我想在Xcode中使用約束來放置這兩個標籤。如果可能的話,我不想以編程方式操縱約束。將不勝感激。iOS - 將兩個標籤放在其超級視圖的中心
右圖像應是預期的輸出
要求,
- 兩個標籤是在非相同寬度
- 當運行導致L1的空間和尾隨L2的空間將等於
- L1之間的距離& L2,水平空間是固定的, 10 PX
- UIStackView不能使用
我怎麼能做到這一點從Xcode的?
我有兩個標籤,L1和L2的變量和不相同的長度。我想在Xcode中使用約束來放置這兩個標籤。如果可能的話,我不想以編程方式操縱約束。將不勝感激。iOS - 將兩個標籤放在其超級視圖的中心
右圖像應是預期的輸出
要求,
我怎麼能做到這一點從Xcode的?
你可以做的是把兩個UILabel
一個UIView
,然後裏面:
UILabel
。UILabel
。UILabel
現在的水平和垂直居中的UIView
在屏幕的中間。設置在水平中心約束優先250添加的領先和你UIView
的尾部空間,其上海華有>=
5約束
編輯:此外,如果文本太大,則上述限制AREN」 t只需完全工作(您將必須將numberOfLines設置爲0和換行模式到wordWrap顯示完整的文本,當然轉到下一行)!由於UILabel
的推測高度和推斷寬度優先級爲750,並且默認情況下每個UILabel
的內容壓縮阻力優先級也是750,所以Xcode會困惑該怎麼做,並且正確如此!你可以做的是設置在屬性檢查器中的內容壓縮財產1000
OR
如果你不希望與壓縮性鼓搗(我用於發現它們可怕),你還可以做的是在每個UILabel
的寬度和高度上添加一個>=
約束。如果明確定義高度和寬度使它們的優先級爲1000,那麼給出這個約束也將顯示完整的文本,無論它有多大。
是你的L1和L2的寬度是固定值還是不確定值?
如果寬度固定,您可以使用砌體來實現效果。
那些是不確定的。這就是問題出現的原因。 –
給出相同的基線,以便它們可以保持其水平對齊相同。 – Ballu
'UIView的高度將是未知的權利? Xcode如何處理它? –
'UIView'的高度和寬度將從其內容推斷出來。在這種情況下,兩個'UILabel' – Rikh