0

我正在使用 AVPlayerController,并且在 AVPlayerController 之上添加了一个子视图。一旦显示子视图,我想将焦点从播放器转移到子视图,并将焦点放在添加在该 Subivew 之上的 UIButton。我已经尝试过 preferredfocusview,但它是一个只读属性,我无法更改它。任何人都可以提供帮助。非常感谢。

4

1 回答 1

2

首先,preferredFocusView不推荐使用,因此您应该preferredFocusEnvironments改用。

它是一个计算属性,这意味着您不分配给它,而是覆盖它:

override var preferredFocusEnvironments: [UIFocusEnvironment] {
//if subview exists, return the subview or the button, whichever is focusable
    return [subview]
//otherwise use the default implementation of AVPlayerController
    return super.preferredFocusEnvironments
}

添加子视图时,您还应该调用self.setNeedsFocusUpdate()self.updateFocusIfNeeded()请求焦点更新。

于 2017-01-31T16:22:47.837 回答