2016-12-17 60 views
0

我正在嘗試使用動態內容在UILabel旁邊有一個UIImageView。兩者都在StackView之內。如何在Swift中將標籤與其旁邊的ImageView對齊?

enter image description here

目前我使用的Fill對齊和分佈。將其更改爲其他選項之一,將ImageView(固定約束條件)的大小更改爲30x30。StackView的左右前導限制爲0

這是我目前:

enter image description here

的是什麼,我想:

enter image description here

如何做,我需要建立StackView存檔我的目標?非常感謝幫助。

回答

3

您可以嘗試使用嵌入水平堆棧視圖的垂直堆棧視圖。

enter image description here

第一堆疊視圖具有豎直軸線。它的對齊是中心的,分佈是填充(默認)。此堆棧視圖具有以下約束:跟蹤到超級視圖,導致超級視圖和頂部空間到頂部佈局指南。

第二個堆棧視圖包含圖像視圖和標籤。它的軸是水平的。填充對齊和分佈設置爲其默認值。間距設置爲10(可根據需要進行更改)。這個堆棧視圖沒有限制。

圖像視圖的高度和寬度約束分別爲30。

該標籤沒有限制。

圖像視圖和標籤都有默認的內容擁抱和壓縮值。

enter image description here

如果標籤具有較長的文本,然後再會出現這樣的:

enter image description here

+0

,這很有效。謝謝 –

0

您是否嘗試過操作內容擁抱和內容壓縮阻力優先?我相信這些屬性可以讓你管理圖像視圖和textView之間的長度距離,並且當你輸入越來越多的數據時,堆棧視圖不會讓你動態地擴展textView,所以我認爲操縱擁抱和阻力屬性可以給你接近所需的解決方案。

+0

我在哪裏可以設置這些屬性呢? –

+0

檢出屬性檢查器。我建議你在操作它們之前閱讀更多關於這些屬性的內容,因爲它們可能會變得複雜。 –

0

這可以通過爲圖像視圖和文本標籤創建容器視圖,然後將容器視圖居中放在原始父視圖中來實現。

+0

我不知道如何處理不同的文本標籤長度然後 –

+0

也我真的看不出這種方法和使用堆棧視圖之間的區別 –

+0

這應該適用於具有動態內容的標籤。在容器視圖上添加約束條件,使其寬度爲圖像視圖和標籤的寬度之和。如果您想將視圖居中而不是堆疊視圖,則堆疊視圖可能不是最佳選擇。 –

相關問題