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