我有以下代码:
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的高度变为窗口的高度。
您应该对准外部HStack
。
VStack{
Spacer()
HStack(alignment: .top) {
Text("Error: \(errorText)")
Spacer()
HStack {
Button("x"){
self.errorText = ""
}
//Spacer()
}
}
.frame(minHeight:10)
.padding(.all, 5)
}