使用容器 ViewControllers 时如何管理焦点

Posted

技术标签:

【中文标题】使用容器 ViewControllers 时如何管理焦点【英文标题】:How to manage focus when you use container ViewControllers 【发布时间】:2017-11-08 19:03:25 【问题描述】:

当您有容器视图/视图时,如何在 tvOS 中管理 FocusGuide?我正在使用 MasterViewController 并且有多个容器视图控制器,它们的作用就像UITabBarController。但是当我在按钮之间导航时,它不会导航到所选 viewController 的首选焦点环境。按钮水平排列,容器视图控制器始终位于选项卡下方。我不知道如何管理它们。

【问题讨论】:

【参考方案1】:

我的应用已经在市场上运行了很长时间。现在我可以轻松地说容器视图控制器无关紧要。

我们在屏幕上看到的所有元素都以相同的逻辑工作。如果焦点引擎在目标方向上找不到项目(当您使用遥控器进行左右或上下操作时),它将不会导航。

那么如何解决呢?您需要创建一个自动重定向到首选视图的不可见焦点项目(视图)。你也需要相反方向的手柄!您需要帮助将引擎集中在当前情况下。

为了避免这种情况,我建议您与您的 UI / UX 部门讨论电视体验并在必要时重新安排一些屏幕。

最后,我强烈建议您为 Apple TV 使用默认 UITabBarController,并且在了解 Apple TV 的用户体验之前不要创建自己的版本。

【讨论】:

以上是关于使用容器 ViewControllers 时如何管理焦点的主要内容,如果未能解决你的问题,请参考以下文章

如何使用iOS swift hero框架在两个viewcontrollers之间进行转换?

如何刷新Scrollview内部的viewcontrollers?

如何在本地运行一次性 Docker 容器(从容器内触发)

如何通过 ViewControllers 管理和释放内存

如何从 navigationController(viewControllers/stack) 弹回指定 viewController?

Xcode:如何将对象从一个 viewControllers 视图移动到另一个 viewControllers 视图?