2017-06-04 38 views
1

我在另一個棧中有3個棧並且文本框拉伸的方式太多了。我試圖給文本框添加高度約束,但它以紅色突出顯示,並且文本框不縮小(附加屏幕截圖)。任何人都可以推薦解決方案嗎?TextBox在棧視圖中伸展Xcode

enter image description here

回答

1

它看起來像你想有三排鋪陳的形式。這三行沒有足夠的內容來垂直填充屏幕,所以您需要確定要將多餘空間放到哪裏,並且需要設置約束以將多餘的空間放在那裏。

假設你想要垂直居中的行。然後,您需要將垂直堆棧視圖的Y中心約束到根視圖的Y中心。不要在垂直堆棧視圖的高度或其頂部或底部放置任何其他約束。讓它不受限制地讓它自己調整尺寸以完全適合其排列的子視圖,而不會拉伸或壓縮它們。

您還正在對標籤和視圖進行不均勻的橫向拉伸。爲了解決這個問題,限制所有的標籤寬度相等。然後將標籤的水平內容擁抱優先級設置爲251,並將其水平內容壓縮抵抗優先級設置爲750.將文本字段的水平內容擁抱優先級設置爲250(僅比標籤更少)。這將告訴水平堆棧視圖伸展文本字段而不是標籤,以填充多餘的水平空間。

結果:

layout previews

這裏是我的文檔大綱:

document outline

+0

感謝了很大的反響。我想我更新了一下你的答案並居中主棧視圖(不是3個水平棧),也從主棧中刪除了頂部和底部約束。似乎主要問題是我正在拉伸主堆棧視圖。現在我僅通過間距控制堆棧之間的間隙,並讓主堆棧僅使用中心水平/垂直限制來自行拉伸。 – KirillC