2017-09-07 93 views
1

...因爲我有一個圖像視圖,它的父對象水平居中,並且它顯示爲右對齊。你是否應該爲Stackview的子視圖添加約束?

+1

我相信你不應該那樣做。你應該可以使用uiStackView的''distribution'和'alignment'屬性來設置。如果它不起作用,那麼你沒有正確地做某件事。你將不得不提供一個代碼示例來獲得幫助。 –

+1

hmmm ....您可能需要添加寬度和高度約束。如果你展示了你想要做什麼的屏幕截圖,以及不按照你期望的方式工作,那麼幫助會更容易。 – DonMag

回答

4

是的,你可以添加約束到排列的子視圖堆棧視圖。從UIStackView class reference

您可以提供額外的約束來指定堆棧視圖的高度,寬度或兩者。

及更高版本:

您也可以微調的佈置圖的通過增加額外的限制所佈置的視圖外觀。例如,您可以使用約束來爲視圖設置最小或最大高度或寬度。或者您可以爲視圖定義縱橫比。在佈置其內容時,堆棧視圖使用這些約束。例如,在圖像視圖中有一個寬高比約束,在圖像調整大小時強制執行恆定寬高比。

小心避免添加約束到一個堆棧視圖內部視圖時引入衝突。根據一般經驗,如果視圖的大小默認返回給定維度的內在內容大小,則可以安全地爲該維度添加約束。

通常你應該不要試圖用約束來改變堆棧視圖內的排列子視圖的位置,因爲這幾乎肯定會導致衝突。

如果您打算使用這些約束來影響整個堆棧視圖的位置,並且小心不會導致衝突,則可以約束排列的子視圖相對於堆棧視圖外的其他視圖的位置。這將是一個相當複雜的約束條件。

+0

你說的比我更好。 (投票) –

-1

您可以在您放入堆棧視圖的「tiles」(視圖)內執行任何操作,但不應添加改變tile自身大小或位置的約束。堆棧視圖管理你的瓷磚。

+0

我的回答並不像羅伯特那樣徹底,但爲什麼倒票呢? –

相關問題