【发布时间】:2020-10-09 20:15:05
【问题描述】:
我正在为 tvOS 构建一个 SwiftUI 应用程序,目前正在尝试实现 UI。我在底部有 NavigationView,在顶部有标签,我希望标签显示当前处于焦点的 NavigationLink。这是我的代码:
@State private var selection: String? = nil
.
ZStack {
Color.red.edgesIgnoringSafeArea(.all)
VStack {
Text(selection ?? "no value").background(Color.green)
NavigationView {
ScrollView(.horizontal) {
HStack{
VStack {
NavigationLink(destination: view2, tag: "1", selection: $selection) {
Image("placeholder")
.scaledToFit().frame(width:400, height: 225) }
Text("Button")
}
VStack {
NavigationLink(destination: view2, tag: "2", selection: $selection) {
Image("placeholder")
.scaledToFit().frame(width:400, height: 225) }
Text("Button")
}
...
}
}.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: .bottomLeading)
}
}
}
}
但是,当我更改选择并且不显示任何值时,标签值不会改变:
有什么想法我应该在那里做什么?
【问题讨论】:
-
我在同一条船上 - 你找到解决方案了吗?我能想到的唯一方法是在 NavigationLink 上覆盖
.focusable()- 但随后destination不起作用 -
@beamercola 不,我没有☹️。不得不想出一个不同的用户界面
-
该死,太糟糕了。我已经很接近了,但有些事情告诉我 SwiftUI 还没有准备好。这是我的代码:stackoverflow.com/questions/63950127/…
标签: swift swiftui tvos swiftui-navigationlink