我刚接触SwiftUI,这次我想将单独的元素(一张图片)向右对齐,然后将其余内容居中对齐。
就像在HStack
上使用Spacer()
时发生的情况,但是对于另一侧。
我阅读了关于.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
的 }
后面,结果相同。
我想要实现的是,在使用故事板之前,我会使用一些约束条件来完成这个任务,例如将右侧约束条件设置为 8 或其他数值,但是当涉及到 SwiftUI 时,我有点困惑。
align-self: flex-end
这样基本的属性来说,听起来有点啰嗦。 - Jonas Sourlier