【发布时间】:2022-05-10 05:35:58
【问题描述】:
如何在 SwiftUI 中响应 tvOS 上的焦点事件?
我有以下 SwiftUI 视图:
struct MyView: View {
var body: some View {
VStack {
Button(action: {
print("Button 1 pressed")
}) {
Text("Button 1")
}.focusable(true) { focused in
print("Button 1 focused: \(focused)")
}
Button(action: {
print("Button 2 pressed")
}) {
Text("Button 2")
}.focusable(true) { focused in
print("Button 2 focused: \(focused)")
}
}
}
单击任一按钮都会正确打印出来。但是,在两个按钮之间更改焦点不会打印任何内容。
This guy 正在对列表中的行做同样的事情,并表示它开始使用 Xcode 11 GM 为他工作,但我在 11.5 上,它肯定不起作用(至少不适用于按钮(或切换 -我也试过了))。
阅读the documentation,这似乎是解决此问题的正确方法,但它似乎并没有真正起作用。是我遗漏了什么,还是这只是坏了?
【问题讨论】:
-
嗨!你找到解决办法了吗?我也遇到了同样的问题。
-
不。我在某处(我不记得在哪里)读到一些东西,这表明某些控件根本无法聚焦——即使它们具有
focusable属性。我无法确认,但这里似乎确实如此。