1

我想在我的应用程序中创建一个基本上充当表格的视图。我相信惰性网格是在 iOS 14 中做到这一点的最佳方式,我只是不确定我在用它们做什么。我要创建的表如下图所示: 在此处输入图像描述

每一行都基于一个对象,Player()我有,然后行中的每个数字都是对象具有的属性,例如player.triesplayer.pens等等。

到目前为止,我的尝试是遍历数组中的所有玩家,homeTeam.players并根据各个值创建一个具有不同文本的 HStack。然后,我陷入了如何将每列设置为我想要的宽度的问题,例如将名称设置为最宽,而所有其他列都小得多,但它们上方还有标题。我的代码如下:

let layout = [GridItem(.flexible(maximum: 300))]

LazyVGrid(columns: layout){
    HStack{
        Text("Name")
        Spacer()
        Text("T | C | P | DG")
   }
   ForEach(homeTeam.players){ player in
       HStack(spacing: 0){
           Text("player.playerName")
           Spacer()
           Text("\(player.tries) | \(player.convs) | \(player.pens) | \(player.dgs)")
       }
        .padding()
   }
}

非常感谢您在正确位置获得大小和所有数字的任何帮助!

4

1 回答 1

2

不需要网格视图..

Section(header: CustomHeaderView()) {
        VStack(spacing: 0){
            ForEach(items){ item in
                HStack {
                    Text("Field 1")
                    
                    Divider()
                    
                    Text("Field 2")
                    // etc
                }
            }
        }
        .padding()
        .background(Rectangle().strokeBorder(Color.black)
    }

您可以按照自己的喜好设置每个字段的格式,只要确保标题和项目是统一的……您就知道了。

于 2020-12-16T01:30:48.047 回答