Para iOS16 en adelante, después de 1000 videos y fotos encontré la solución, y como casi siempre, es muy sencilla, en vez de botones hay que usar un NavigationLink(destination: label:) destination siendo nuestra vista de gameView donde ahi mismo le entregas el valor de las variables, y en label utilizamos los valores que utilizamos para los botones quedándote asÃ
LazyVGrid(columns: formaGrid, spacing: 4){
ForEach(todosLosVideoJuegos.gamesInfo,id: \.self){
juego in
NavigationLink(destination: gameView(url: juego.videosUrls.mobile, titulo: juego.title, studio: juego.studio, calificacion: juego.contentRaiting, anoPublicacion: juego.publicationYear, descripcion: juego.description, tags: juego.tags, imgsUrl: juego.galleryImages), label: {
VStack
{
AsyncImage( url: URL( string: juego.galleryImages[0] )! )
{ image in
image
.resizable()
.aspectRatio(contentMode: .fit)
.clipShape(RoundedRectangle(cornerRadius: 11))
.padding(EdgeInsets(top: 0, leading: 10, bottom: 0, trailing: 10))
} placeholder: {
placeholderImage()
}
Text("\(juego.title)").foregroundColor(.white)
.font(.body)
.padding(EdgeInsets(top: 1, leading: 0, bottom: 15, trailing: 0))
}
})
}
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?