我有以下代码:
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的高度变为窗口的高度。
答案 0 :(得分:1)
您应该对齐外部HStack
。
内在的也没有用。这样您就可以摆脱它。
VStack{
Spacer()
HStack(alignment: .top) {
Text("Error: \(errorText)")
Spacer()
Button("x"){ self.errorText = "" }
}
.frame(minHeight:10)
.padding(.all, 5)
}