我知道我可以像这样在 HStack 中设置视图之间的间距:
HStack(spacing: 10) { .. }
如果我说 HStack 中有 8 个视图,有没有办法将间距设置为1
仅在堆栈中 8 个视图的两个连续视图之间,覆盖10
在这种情况下设置的初始 HStack 间距?
我希望堆栈中的所有视图相距 10,但是,我希望有两个视图彼此相距 1。
我知道我可以放置另一个包含两个视图的 HStack 并将子堆栈的间距设置为 1。我想知道是否有另一种可能更好的方法。
也许padding
改用?但是“我知道我可以放置另一个包含两个视图的 HStack 并将子堆栈的间距设置为 1 ”可能是最好的方法。
struct ContentView: View {
var body: some View {
HStack(spacing: 0) {
ForEach(0..<10) { index in
Rectangle()
.fill(Color.green)
.frame(width: 40, height: 40)
.padding(.horizontal, index == 0 || index == 1 ? 1 : 10)
}
}
}
}
好吧,您对“另一种方式”有何期待?
你有一个主 HStack,你可以在其中放置 VStacks、HStacks 和 ZStacks。
所以它喜欢..
HStack(spacing: 10) {
HStack{}
HStack{}
HStack(spacing:1){
HStack{}
}
}
不要误会我的意思,但我不明白你的问题是什么。这对我来说看起来很舒服:-) 问候。