Ios SwiftUI VStack右对齐单个元素
我是SwiftUI的新手,这次我尝试将单个元素(图像)向右对齐,然后将其余内容居中对齐 就像在Ios SwiftUI VStack右对齐单个元素,ios,swiftui,alignment,vstack,Ios,Swiftui,Alignment,Vstack,我是SwiftUI的新手,这次我尝试将单个元素(图像)向右对齐,然后将其余内容居中对齐 就像在HStack上使用Spacer()而在另一侧使用时发生的情况一样 我读到了.alignmentGuide,它有点让人困惑,但我试着这样使用它: struct ContentView: View { var body: some View { VStack { HStack { Text("Hello!")
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()
}
}
但这根本没有改变,两个文本都是中心对齐的
我尝试在HStack
的}
之后移动.alignmentGuide
代码,结果相同
这就是我想做的,在使用故事板之前,我会使用一些约束来实现这一点,比如将正确的约束设置为8或其他什么,但是当涉及到使用快捷方式时,我有点不知所措
这里有一种方法:
struct ContentView: View {
var body: some View {
VStack {
HStack {
Spacer()
Text("Hello!")
.padding(.trailing, 8)
}
Text("Hello, World!")
Spacer()
}
}
}
使用HStack
和Spacer()
将文本(“Hello!”)
推到右侧。添加.padding(.training,8)
以使其偏离右边缘8点。有趣的是,我发誓我之前添加了Spacer()
,它保持在中间,我猜预览刚刚停止。谢谢一旦网站允许,我将接受