我正在首次使用 SwiftUI 创建 tvOS 应用。我在这方面还很陌生。
我有一排按钮,它们工作正常。每当我改变焦点时,焦点中的项目就会增大。
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)
}
}
但是,如果我尝试添加如下导航链接:
NavigationLink(destination: VideoDetailView(mediaItem: item)) {
Button...
}
焦点动画丢失。
我做错了什么?如何保持按钮的焦点动画并让它带我进入新屏幕?
A
NavigationLink
是一种按钮类型,您不需要用它来包裹 aButton
。修饰符也.buttonStyle
可以应用于 aNavigationLink
。此外,
NavigationView
已被弃用,请考虑使用NavigationStack
。