我正在尝试在底部水平排列两组标签(“ <<”,“ <”,“ ^”,“>”,“ >>”,“ []”)和(“ M”)使用SwiftUI的屏幕的约束,约束是(“ M”)组位于屏幕的右下角,而(“ <<”,“ <”,“ ^”,“>”,“ >>” ,“ []”)组的居中位置,以使“ ^”元素与屏幕的水平中心对齐。
我尝试过:
VStack {
Spacer()
HStack {
Spacer()
Spacer()
HStack.init(spacing: 4) {
Text("<<")
Text("<")
Text("^") // this view should be aligned to horizontal center of screen
.padding([.leading, .trailing], 16)
Text(">")
Text(">>")
Text("[]")
.padding(.leading, 8)
}
Spacer()
Text("M")
.padding(2)
}
}
如下所示:
我不知道如何约束“ ^”使其与水平中心对齐。
使用自动布局,通过将“ ^”的center-x锚定到父中心x锚点,然后将其余元素相应地锚定到“ ^”,其中“ M”将被锚定,我可以很容易地做到这一点右下角的锚点。
答案 0 :(得分:0)
一个简单的解决方案是在.hidden()修饰符的两边使用相同长度的文本。
(我在这里使用“组”,因为我已超过10个极限视图)
VStack {
Spacer()
HStack {
Group {
Text("M").hidden()
Spacer()
Text("[]").hidden()
Text("<<")
Text("<")
}
Group {
Text("^")
Text(">")
Text(">>")
Text("[]")
Spacer()
Text("M")
}
}
}