【发布时间】:2017-02-02 22:44:43
【问题描述】:
在 UISplitViewController 中,默认情况下,焦点设置在 TableView 上。有没有办法让我覆盖它,以便将焦点放在 DetailViewController 上?
我可以在启动应用程序时将焦点更改为按钮而不是 TableView 单元格吗?
【问题讨论】:
标签: swift3 focus uisplitviewcontroller tvos
在 UISplitViewController 中,默认情况下,焦点设置在 TableView 上。有没有办法让我覆盖它,以便将焦点放在 DetailViewController 上?
我可以在启动应用程序时将焦点更改为按钮而不是 TableView 单元格吗?
【问题讨论】:
标签: swift3 focus uisplitviewcontroller tvos
找到解决方案:
override weak var preferredFocusEnvironments: [UIFocusEnvironment] {
get {
let controllerToFocus = viewControllers[1] as? ViewController
return [(controllerToFocus?.view)]
}
我们需要调用 setNeedsFocusUpdate() 和 updateFocusIfNeeded():
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
self.setNeedsFocusUpdate()
self.updateFocusIfNeeded()
}
【讨论】: