使用NavigationLink后,SwiftUI列表列不适合单元格视图

时间:2020-01-23 16:18:54

标签: swiftui swiftui-list

我创建了一个列表来显示我的玩家信息。但我的“列表”列不适合我的单元格视图。在某些列中消失的文本字段。这很奇怪,因为它们大多数都带有“ -1”数字。有人知道任何原因可能导致这种情况发生吗?演示视频:HERE

struct SelectPlayerCellView: View {
@ObservedObject var player: PlayerGameData
@State var newuniformNumber: Int = 0

    var body: some View {


        HStack{
            Button(action: {
                self.player.isPlayer.toggle()
            }){
                if self.player.isPlayer{
                    Image(systemName: "checkmark.rectangle")
                }
                else{
                    Image(systemName: "rectangle")
                }

            }
            TextField("\(player.uniformNumber)", value: $newuniformNumber, formatter: NumberFormatter())
                .font(.system(size: 40))
                .frame(width:55)
                .padding(5)

            Text(player.name)
        }
        .padding(.horizontal,8)
        .cornerRadius(20)
}
}

我将单元格视图放在列表中

struct SelectPlayerView: View {
@EnvironmentObject var teamResult : TeamResult
@ObservedObject var allPlayerList : PlayersGameData = PlayersGameData()
@State var goToNextPage : Bool = false


var selectedPlayerList : PlayersGameData = PlayersGameData()

var body: some View {
    VStack {
        List{
            ForEach(allPlayerList.playersGameDataArray, id: \.userId) { (player) in
                SelectPlayerCellView(player: player)
            }.onMove(perform: move)


        }

        NavigationLink(destination: SelectStartingLineupView(selectedPlayerList: self.selectedPlayerList).environmentObject(teamResult),isActive: $goToNextPage){
            EmptyView()
        }

        VStack (spacing: 10){

            Button(action: {

                self.createPlayersList()
                self.goToNextPage.toggle()
            }){
                Image(systemName: "arrowshape.turn.up.right.circle")
            }
        }
    }.onAppear(perform: getTeamMemberResults)
        .onDisappear(perform: clearTeamMemberResults)
        .navigationBarItems(trailing: EditButton())
}

0 个答案:

没有答案