标题说明了一切-我无法专注于tvOS上的SwiftUI中的UIViewRepresentable
。任何符合View
协议的视图都可以毫无问题地聚焦,但是UIViewRepresentable
和UIViewControllerRepresentable
都不能。
有什么想法吗?
此代码有效:
struct ContentView: View {
var body: some View {
Text("Hello, World!")
.focusable()
.onExitCommand {
print("Menu button pressed")
}
}
}
这不是:
struct ContentView: View {
var body: some View {
ViewRepresentable()
.focusable()
.onExitCommand {
print("Menu button pressed")
}
}
}
struct ViewRepresentable: UIViewRepresentable {
func makeUIView(context: Context) -> UIView {
let view = UIView()
view.backgroundColor = .red
return view
}
func updateUIView(_ uiView: UIView, context: Context) {
}
}
谢谢!
答案 0 :(得分:0)
您需要创建一个覆盖canBecomeFocused的UIView子类以返回true。如果您想响应焦点,您可能还想覆盖didUpdateFocus(in:with:)。
这里提供了一个实用程序类作为参考,让我拥有可聚焦的UIView,并响应远程滑动和单击。
df<-data.frame(x=1:5)
df$y<-df$x**2
pl<-ggplot(df,aes(x=x,y=x)) +
geom_point()
pl