我有以下代码可以在 iPad 中显示表格
Table(users) {
TableColumn("Employee ID") { user in
Text(user.employeeId)
}
.width(ideal: 30.0)
TableColumn("Name") { user in
Text(user.displayName)
}
.width(ideal: 30.0)
TableColumn("Email") { user in
Text(user.email)
}
.width(ideal: 150.0)
TableColumn("On Board") { user in
Text(DateFmt.shortDate.string(from: user.onboardDate))
}
.width(ideal: 40.0)
}
它工作完美,只是 width() 根本不起作用。不管我输入什么数字。我也尝试了
min
或max
,没有效果。
很明显,对于电子邮件等属性,我需要更宽的列,但列宽似乎总是在列之间均匀划分。
如何具体更改iPad表格的宽度? (在 macOS 中,上面的 width() 有效,我知道,我已经尝试过了)
或者如果 width() 对 iOS 不起作用(我的猜测是用户手指无论如何都无法更改列宽),是否有某种方法可以使某些列变大?例如,这里的电子邮件属性需要更大的空间。
在 iOS/iPadOS 中你必须
将表格放入可水平滚动的滚动视图中,因为默认情况下只有 macOS 提供表格的水平滚动。
然后设置桌子框架的宽度;所有列大小的总和。
ScrollView(.horizontal) {
Table(users) {
TableColumn("Employee ID") { user in
Text(user.employeeId)
}
.width(30.0)
TableColumn("Name") { user in
Text(user.displayName)
}
.width(30.0)
TableColumn("Email") { user in
Text(user.email)
}
.width(150.0)
TableColumn("On Board") { user in
Text(DateFmt.shortDate.string(from: user.onboardDate))
}
.width(40.0)
}
.frame(width: 250) //<- 30+30+150+40
}