ios - SwiftUI VStack 右对齐单个元素

标签 ios swiftui alignment vstack

我是 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 方式进行操作时,我有点迷茫。
enter image description here

最佳答案

这是一种方法:

struct ContentView: View {
    var body: some View {
        VStack {
            HStack {
                Spacer()
                Text("Hello!")
                    .padding(.trailing, 8)
            }
            Text("Hello, World!")
            Spacer()
        }
    }
}
使用 HStackSpacer()Text("Hello!")向右。添加 .padding(.trailing, 8)使其远离右边缘 8 分。

关于ios - SwiftUI VStack 右对齐单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63460639/

相关文章:

ios - 从单独的 View 中重新加载 UIWebView

ios - 用于 C/Objective-C/Swift 的快速、粗略的 atan2() 版本?

ios - 仅在 Core plot iOS 中滚动数据

ios - NSCalendar currentCalendar 不工作

button - SwiftUI 无需用户单击按钮即可触发按钮上的操作

html - 如何在单个母 block 中为不同的 block 定义不同的 "text-align"?

css - 更改div或div的内容?

image - Coredata 图像转换 swiftUI

ios - 如何在 SwiftUI 中创建此 View ?

java - 对齐所有面板组件ja​​va