SwiftUI HStack 垂直对齐不起作用?

SwiftUI HStack vetrical Alignment doesn't work?

我有以下代码:

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

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

我做错了什么?

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 高度达到 window 高度。

您应该改为对齐外部 HStack。 里面的也是没用的。所以你可以摆脱它。

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