我想在具有行标题且文本长度不同的网格中显示数据。第一列的宽度应足以容纳最长的文本。其余列应均匀分布。
可以用下面的例子来说明这个问题:
struct ContentView: View
{
private var firstColumn: GridItem { GridItem(alignment: .trailing) }
private var remainingColumns: [GridItem] { [GridItem(alignment: .center), GridItem(alignment: .center)] }
private var columns: [GridItem] { [firstColumn] + remainingColumns }
var body: some View {
LazyVGrid(columns: columns, alignment: .leading) {
ForEach(1..<5) {row in
// Row Header
Text("Row \(row)")
// remaining columns
ForEach(1..<3) {col in
Text("\(row),\(col)")
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,对于 GridItems,我只能指定固定宽度或最小和最大宽度,但不能指定“最佳”宽度之类的值。
有什么想法如何做到这一点?
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |