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)
}
我有以下代码:
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)
}