TV OS UIFocusEnvironment 没有聚焦按钮

TV OS UIFocusEnvironment Not focusing Button

大家好,我是电视初学者OS应用程序开发。

如下图所示,我可以移动按钮,

按钮 1 -> 向右箭头 -> 聚焦按钮 2

我注意到,当向下移动时(从 Button2 到 Button4),焦点项目框应该在 Button2 和 Button6 的边界内。

我想在按下时将 Button1 移动到 Button 3。 (Button3不在Button1和Button5之间)

我该如何解决这个问题?

非常感谢任何帮助。 提前致谢。

为此,您可以在按钮 3 的左侧放置一个 UIFocusGuide。(https://developer.apple.com/documentation/uikit/uifocusguide)

焦点指南是一个不可见的布局指南元素,它将 "catch" 聚焦并将其重定向到您指定的任何视图。

编辑: Full documentation with Sample

示例:

let focusGuide = UIFocusGuide()
view.addLayoutGuide(focusGuide)
focusGuide.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
focusGuide.rightAnchor.constraint(equalTo: button3.rightAnchor).isActive = true
focusGuide.topAnchor.constraint(equalTo: button3.topAnchor).isActive = true
focusGuide.bottomAnchor.constraint(equalTo: button3.bottomAnchor).isActive = true
focusGuide.preferredFocusEnvironments = [button3]