【问题标题】:SwiftUI VStack align right single elementSwiftUI VStack 右对齐单个元素
【发布时间】:2020-12-07 04:01:07
【问题描述】:

我是 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 方式。

【问题讨论】:

    标签: ios swiftui alignment vstack


    【解决方案1】:

    这是一种方法:

    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 点。

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 2020-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 2020-05-16
      • 2021-07-21
      • 1970-01-01
      相关资源
      最近更新 更多