我是 SwiftUI 的新手,这次我尝试将单个元素(图像)向右对齐,然后其余内容应居中对齐。
就像使用 Spacer()
时发生的情况一样在 HStack
上但到另一边。
我读到了 .alignmentGuide
这有点令人困惑,但我尝试以这种方式使用它:
struct ContentView: View {
var body: some View {
VStack {
HStack {
Text("Hello!").alignmentGuide(.trailing) {
v in v[HorizontalAlignment.trailing]
}
}
Text("Hello, World!")
Spacer()
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
但这一点都没有改变,两者都是Text
居中对齐。我试着移动
.alignmentGuide
}
后面的代码的HStack
结果相同。这就是我想要做的,在使用 Storyboard 之前,我会使用一些约束来做到这一点,例如将正确的约束设置为 8 或其他什么,但是当涉及到以 SwiftUI 方式进行操作时,我有点迷茫。
最佳答案
这是一种方法:
struct ContentView: View {
var body: some View {
VStack {
HStack {
Spacer()
Text("Hello!")
.padding(.trailing, 8)
}
Text("Hello, World!")
Spacer()
}
}
}
使用 HStack
与 Spacer()
推Text("Hello!")
向右。添加 .padding(.trailing, 8)
使其远离右边缘 8 分。
关于ios - SwiftUI VStack 右对齐单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63460639/