Zon*_*eva 5 alignment tableview swiftui
我正在为当地的体育联盟开发一个应用程序。
一个视图将是当前排名,每行有几个字段:球队名称、已玩的比赛、得分等。我希望球队列左对齐,其他列右对齐。
似乎最好的答案是 SwiftUI 的 Table(),但在 iPhone 上,它只显示第一列。
我尝试过将 HStack{} 与 Text() 一起使用:
List {
ForEach(selectedStats()) { stats in
HStack {
Text (stats.name)
Spacer()
Text ("\(stats.totalMatches)")
Text ("\(stats.standingsPoints)")
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我很难让列在表格中的多行中左对齐或右对齐。
有没有办法让 Tables 工作?或者如何对齐我的列?
(PS,我使用了 TableView 标签,因为没有特定于 Table 或 SwiftUI-Table 的标签。如果可以添加的话那就太好了。)
发布后,我继续进行研究,并发现了 Paul Hudson 因《Hacking with Swift》而闻名的一些内容。
基于这两个,我想出了这个:
extension HorizontalAlignment {
enum GP: AlignmentID {
static func defaultValue(in context: ViewDimensions) -> CGFloat {
context[.trailing]
}
}
static let gp = HorizontalAlignment(GP.self)
}
Run Code Online (Sandbox Code Playgroud)
然后我申请
.alignmentGuide(.gp) { d in d[HorizontalAlignment.trailing] }
Run Code Online (Sandbox Code Playgroud)
我想要右对齐的每个元素。
似乎也能做到这一点。
| 归档时间: |
|
| 查看次数: |
1840 次 |
| 最近记录: |