1

我已经创建了 tvOs 应用程序并坚持使用焦点引擎。

我有tableview,并设置为remembersLastFocusedIndexPathtrue。我必须覆盖indexPathForPreferredFocusedView. 当我第一次集中注意力时,indexPathForPreferredFocusedView被叫到,我让细胞集中,我需要什么。但在其他时候,我得到最后一个重点索引路径。当我定义remembersLastFocusedIndexPath为假时,indexPathForPreferredFocusedView不会被调用。

我需要做什么,只关注细胞,我需要什么?

4

2 回答 2

0

覆盖以下函数并返回您要关注的索引路径。

override func indexPathForPreferredFocusedView(in tableView: UITableView) -> IndexPath? {}

演示

于 2018-05-23T09:09:53.133 回答
0

indexPathForPreferredFocusedView当视图即将第一次获得焦点或重新加载期间仅调用一次。

如果您希望获得其他一些专注行为,您可以尝试preferredFocusEnvironments获得您的专注行为。

此外,它会关注最后一个焦点IndexPath,因为这是 tvOS 中的默认行为。该变量restoreFocusAfteViewTransition默认设置为 true。您可以将其更改为 false inViewController并检查您是否能够实现您想要的。

于 2018-08-04T18:14:10.977 回答