更改 UISplitViewController 中的默认焦点
Changing the default focus in UISplitViewController
在 UISplitViewController 中,默认情况下,焦点设置在 TableView 上。有没有办法让我覆盖它,以便将焦点放在 DetailViewController 上?
我可以在启动应用程序时将焦点更改为按钮而不是 TableView 单元格吗?
找到解决方案:
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()
}
我可以在启动应用程序时将焦点更改为按钮而不是 TableView 单元格吗?
找到解决方案:
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()
}