[英]Match UIStackView's .fill alignment with SwiftUI VStack
我有一個包含 3 個Text
的VStack
。 每個都有不同長度的字符串。 我希望VStack
的寬度足以容納最寬的Text
,但我也希望所有三個Text
水平填充 VStack 。
默認情況下,使用以下代碼:
VStack(spacing: 4.0) {
ForEach(1..<4) {
Text(Array<String>(repeating: "word", count: $0).joined(separator: " "))
.background(Color.gray)
}
}
我得到:
我想:
在 UIKit 中,我可以使用垂直UIStackView
執行此操作,其alignment
屬性設置為.fill
。 VStack
沒有.fill
alignment。 我看到的建議解決方案是使用.infinity
為maxWidth
修改堆棧視圖的每個子項(即每個Text
)的框架。
我發現的建議是用.frame(maxWidth: .infinity)
修改Text
。 然而,這使得整個VStack
擴展到(大概)它的最大大小:
有沒有辦法讓VStack
自然增長到它最寬的孩子的大小,而不是更大,同時使其所有孩子的寬度相同?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.