1

我希望我的应用程序开始时没有任何重点。 这篇 airbnb 文章表明,焦点可能为零:UIScreen.mainScreen().focusedView // possibly nil。有没有办法设置它,或者要求焦点为零?

我不认为将 preferredFocusView 设置为 nil 会这样做,因为我认为这只是意味着没有首选焦点......

4

2 回答 2

0

我不认为 API 确实支持这一点,因为它违背了使用 Focus Engine 为用户提供导航上下文的整个想法。

这是来自文档

如果您的应用程序使用内置的 UIKit 控件,那么您的应用程序不需要做任何事情来支持开箱即用的焦点:当应用程序启动时,屏幕上的可聚焦控件被选择作为初始焦点视图,并且焦点引擎会处理在应用程序的整个生命周期内为您管理焦点。

当应用程序启动时,默认情况下,焦点引擎会为您确定开始的焦点视图。这个视图通常是离屏幕左上角最近的可聚焦视图。

一种可能性可能是在屏幕边界之外拥有一个视图并在您的 - 方法中返回该视图preferredFocusView

于 2015-10-14T17:44:47.723 回答
0

是的,可以有一个零焦点视图。但是,这通常是您想要避免的事情。在最简单的情况下,如果视图层次结构中的所有视图都不能成为焦点,则不会有焦点视图。

于 2016-01-09T15:40:08.383 回答