Estou trabalhando na criação de um aplicativo tvOS em SwiftUI pela primeira vez. Sou bem novo nisso.
Tenho uma fileira de botões, que funciona corretamente. Sempre que mudo o foco, o item em foco aumenta de tamanho.
var body: some View {
NavigationView {
ScrollView(.horizontal) {
LazyHStack(spacing: 50) {
ForEach(sections[0].items) { item in
Button {} label: {
Image(systemName: "photo")
.resizable()
.frame(width: 300, height: 170)
Text(item.title)
}
.buttonStyle(.borderless)
}
}
}
.scrollClipDisabled()
.buttonStyle(.borderless)
}
}
Entretanto, se eu tentar adicionar um link de navegação como este:
NavigationLink(destination: VideoDetailView(mediaItem: item)) {
Button...
}
a animação em foco é perdida.
O que estou fazendo errado? Como posso manter a animação de foco do Botão e fazê-lo me levar para uma nova tela?
A
NavigationLink
é um tipo de botão, você não precisa usá-lo para envolver umButton
. O modificador.buttonStyle
pode ser aplicado a umNavigationLink
também.Além disso,
NavigationView
está obsoleto; considere usá-loNavigationStack
em vez dele.