我已经创建了tvOs应用程序并且使用了焦点引擎。
我有tableview,并设置remembersLastFocusedIndexPath
为真。我必须覆盖indexPathForPreferredFocusedView
。当我第一次关注时,indexPathForPreferredFocusedView
被调用,我得到了细胞聚焦,我需要什么。但在其他时候,我得到了最后一个聚焦索引路径。当我将remembersLastFocusedIndexPath
定义为false时,indexPathForPreferredFocusedView
未被调用。
我需要做什么,只关注细胞,我需要什么?
答案 0 :(得分:0)
覆盖以下函数并返回要聚焦的索引路径。
override func indexPathForPreferredFocusedView(in tableView: UITableView) -> IndexPath? {}
答案 1 :(得分:0)
indexPathForPreferredFocusedView
仅在视图将要首次获得焦点或在重新加载期间被调用一次。
如果您希望获得其他一些“聚焦”行为,则可以尝试使用preferredFocusEnvironments
来获得聚焦行为。
此外,它将聚焦于最后聚焦的IndexPath
,因为这是tvOS中的默认行为。变量restoreFocusAfteViewTransition
默认情况下设置为true。您可以在ViewController
中将其更改为false,然后检查是否能够实现所需的功能。