swift - SwiftUI HStack 垂直对齐不起作用?
问题描述
我有以下代码:
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()
Button("x"){ self.errorText = "" }
}
.frame(minHeight:10)
.padding(.all, 5)
}
推荐阅读
- javascript - Nuxt:意外的令牌 <
- java - 更改现有应用的 admob id
- sql - 根据条件插入新行 - Oracle SQL
- python - 附加两个基于 bng Easting / Northing 的数据框
- javascript - 从二维数组创建可编辑的 HTML 表格
- python - Chrome/Firefox 在新选项卡中打开 PDF 并且不以无头模式保存 (Selenium+Python)
- java - Quartz cron 表达式在星期六的不同时间运行
- sql-server - 有没有办法检查对象是 SQL Server 中的表还是视图?
- python - 检查日期是否与另一个崩溃
- reactjs - How do I hide the codes that appear in the sourcemap in the react application?