SwiftUI HStack车辆对准不起作用?

问题描述 投票:0回答:1

我有以下代码:

HStack(alignment: VerticalAlignment.top) {
    Button("x"){
        self.errorText = ""
    }
    //Spacer()
}

我需要在顶部找到按钮。但是按钮仍然位于HStack视图的中心。

enter image description here

我做错了什么?

PS:在这个地方使用Spacer()对我来说不是解决方案。我需要完全对齐。


不需要的部分:

@State var errorText: String = "Some long error text long long long long long long long long long long long long long long long long long long long long"

        VStack{
            Spacer()
            HStack{
                Text("Error: \(errorText)")
                Spacer()
                HStack(alignment: VerticalAlignment.top) {
                    Button("x"){
                        self.errorText = ""
                    }
                    //Spacer()
                }
            }
            .frame(minHeight:10)
            .padding(.all, 5)
        }

我不知道VStack(HStack父级)的高度,因为我不知道错误文本的大小;

Spacer()不是解决方案,因为它使VStack的高度变为窗口的高度。

swift alignment vertical-alignment swiftui
1个回答
0
投票

您应该对准外部HStack

VStack{
    Spacer()
    HStack(alignment: .top) {
        Text("Error: \(errorText)")
        Spacer()
        HStack {
            Button("x"){
                self.errorText = ""
            }
            //Spacer()
        }
    }
    .frame(minHeight:10)
    .padding(.all, 5)
}
© www.soinside.com 2019 - 2024. All rights reserved.