我正在创建一个tvOS电影浏览器。此视图包含电影描述并显示4个内容:电影封面图像,电影描述文本,观看按钮以及电影演员表的集合视图(蓝色框)。 preferredFocusView设置为watchButton。但是,一旦我将焦点切换到它下方的集合视图,如果演员阵容太短,我将无法再次关注观看按钮。
The watch button is focusable here since the cast extends to just below the button
The watch button IS NOT focusable here
最终,我知道我可以通过重新排列UI来修复它,以便监视按钮直接位于第一个演员之上,但我想知道是否有实际的方法来实现我想要的原始外观。 / p>
谢谢!
答案 0 :(得分:0)
为了解决这个问题,我在视图控制器中添加了一个焦点指南。
private var focusGuide: UIFocusGuide!
并在viewDidLoad中:
// Create focus guide
focusGuide = UIFocusGuide()
view.addLayoutGuide(focusGuide)
focusGuide.leftAnchor.constraint(equalTo: header.imageView.leftAnchor).isActive = true
focusGuide.bottomAnchor.constraint(equalTo: header.imageView.bottomAnchor).isActive = true
focusGuide.widthAnchor.constraint(equalTo: header.imageView.widthAnchor).isActive = true
focusGuide.heightAnchor.constraint(equalTo: header.watchButton.heightAnchor).isActive = true