如何水平居中于SwiftUI中的视图组的视图

我正在尝试在底部水平排列两组标签(“ ”,“ >>”,“ []”)和(“ M”)使用SwiftUI的屏幕的约束,约束是(“ M”)组位于屏幕的右下角,而(“ ”,“ >>” ,“ []”)组的居中位置,以使“ ^”元素与屏幕的水平中心对齐。

我尝试过:

        VStack {
            Spacer()
            HStack {
                Spacer()
                Spacer()
                HStack.init(spacing: 4) {
                    Text("<<")
                    Text("<")
                    Text("^") // this view should be aligned to horizontal center of screen
                        .padding([.leading,.trailing],16)
                    Text(">")
                    Text(">>")
                    Text("[]")
                        .padding(.leading,8)
                }
                Spacer()
                Text("M")
                    .padding(2)
            }
        }

如下所示:

如何水平居中于SwiftUI中的视图组的视图

我不知道如何约束“ ^”使其与水平中心对齐。

使用自动布局,通过将“ ^”的center-x锚定到父中心x锚点,然后将其余元素相应地锚定到“ ^”,其中“ M”将被锚定,我可以很容易地做到这一点右下角的锚点。

xiaoman1987 回答:如何水平居中于SwiftUI中的视图组的视图

一个简单的解决方案是在.hidden()修饰符的两边使用相同长度的文本。

(我在这里使用“组”,因为我已超过10个极限视图)

VStack {
    Spacer()
    HStack {
        Group {
            Text("M").hidden()
            Spacer()
            Text("[]").hidden()
            Text("<<")
            Text("<")
        }
        Group {
            Text("^")
            Text(">")
            Text(">>")
            Text("[]")
            Spacer()
            Text("M")
        }
    }
}
本文链接:https://www.f2er.com/3053959.html

大家都在问