问题标签 [uifocusguide]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
369 浏览

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

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

0 投票
1 回答
140 浏览

swift - 无法将按钮焦点移动到下一行

我这里有 3 个按钮。Btn2被禁用。专注时Btn1,我无法将其移至Btn3

我所需要的只是当Btn2被禁用时,我可以通过在电视控制器上向下Btn1Btn3向上滑动来移动。

我试图实施焦点指南,但没有运气

topAnchor、bottomAnchor 等到底是什么?没有这方面的文档。请解释一下。谢谢!

0 投票
1 回答
148 浏览

swift - tvOS 中的“AVFocusProxyView”是什么?得到一个奇怪的焦点问题

什么是AVFocusProxyView?当我们AVContentProposal在全屏播放器顶部显示时,AVFocusProxyView隐藏了接受/拒绝按钮。发生这种情况时,我无法移动焦点。我在 UIFocusDebugger 控制台上收到以下错误:

图片

这是错误:

  • 问题:该项目被以下项目视觉遮挡:AVFocusProxyView 0x149e22600

如何解决这个问题?没有关于AVFocusProxyView.

在此处输入图像描述 AVFocusProxyView 出现在每个按钮/视图的顶部。

由于`AVFocusProxyView`我们面临的焦点问题的解决方案。

由于. AVFocusProxyView_ AVContentProposal解决方法是添加UIFocusGuide

0 投票
1 回答
216 浏览

ios - TV OS UIFocusEnvironment 不聚焦按钮

大家好,我是 TV OS App 开发的初学者。

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

按钮 1 -> 右箭头 -> 对焦按钮 2

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

我想在按下时将 Button1 移动到 Button 3。(Button3 不在 Button1 和 Button5 的边界内)

我该如何解决?

任何帮助将不胜感激。提前致谢。 在此处输入图像描述

0 投票
1 回答
277 浏览

tvos - 如何使用自定义控件管理 AVPlayerViewController 中的焦点处理?

我尝试在AVPlayerViewControllertvOS 电影应用程序中添加一个跳过介绍按钮(如 Netflix)。我将它作为子视图添加到 中contentOverlayView,当我让它出现时,我强制使用preferredFocusEnvironments. 一切都很好......直到用户导航到其他地方(例如搜索栏或视频资产信息视图)。然后按钮失去焦点(预期),并且永远不能通过用户交互再次获得焦点。我尝试过了:

  • 添加一个UIFocusGuide()
  • 把我的按钮直接放在AVPlayerViewController's view
  • 添加一个自己的子视图,其中包含到视图的AVPlayerViewController按钮
  • 添加一个自己的子视图,其中包含按钮contentOverlayView
  • 在同一子视图上的我的按钮旁边、下方、上方添加其他几个按钮(对于上述每种情况)

最后一种方法表明,其他按钮都无法通过用户交互获得焦点,因此看起来,出于同样的原因,用户无法关注 skip-intro-button。但这是什么原因呢?添加自定义交互元素的正确做法是什么AVPlayerViewController?有人有什么想法吗?

0 投票
3 回答
98 浏览

swift - UISegmentedControl 聚焦时如何更改白色背景?

如果UISegmentedControl获得焦点,我会尝试更改段中的白色背景颜色。请看以下截图: 在此处输入图像描述

我需要把这个白色的背景颜色改成清晰的。像这样的东西: 在此处输入图像描述

所以我创建了UISegmentedControlovveride didUpdateFocus(in:with:)的子类, 请看下面的截图: 在此处输入图像描述

但是在那之后焦点不再改变,我不能跳到UISegmentedControl的下一部分。

我在这里看到了类似的问题,但我没有成功。

它是 tvOS,部署目标是 11.1。

这是为什么?聚焦时更改背景颜色的更好方法是什么?请帮我。

0 投票
0 回答
47 浏览

objective-c - UIFocusGuide:仅在系统无解时转发

我在屏幕底部有一个宽阔的“停靠”区域。我在它的顶部放置了一个 UIFocusGuide。根据 Dock 中的哪个元素有焦点,如果用户向上滑动,系统可能有也可能没有焦点解决方案。

如果有,我如何告诉我的焦点指南使用系统计算的新焦点项目,但如果没有,它应该使用我在setPreferredFocusEnvironments:

或者,有没有办法确定“向上滑动”将焦点放在哪里而不实际执行?随着 Dock 中的焦点元素发生变化,我可以检查它,如果系统没有提供目的地,我可以添加一个。

我的 Dock 是主视图控制器中的一个视图,preferredFocusEnvironments但当用户尝试从 Dock 中的元素移动到不存在的视图时,它永远不会被调用。

0 投票
1 回答
301 浏览

uicollectionview - 如何在集合视图中手动选择下一个重点索引路径

如何在 tvOS 上为我的集合视图手动决定下一个重点索引路径?

我的用例是我有一个集合视图,其中包含向各个方向滚动的动态单元格,有时当一个部分中的一个单元格跨越下一个部分中的多个单元格时,我希望能够手动决定接下来关注哪个单元格。

默认行为似乎是集合视图将选择前一个中间的单元格。

例如,绿色单元格当前处于焦点位置。当我向下导航时,集合视图想要关注红色单元格,但我希望接下来关注蓝色单元格。

在此处输入图像描述

我最初的想法是实现collectionView(_:shouldUpdateFocusIn:)委托功能,并false在集合视图选择“错误”索引路径时返回+触发焦点更新。

但是,由于某种原因,shouldUpdateFocusIn当我从它返回时会被调用多次false并导致明显的滞后。

下一个想法是在 中做同样的事情collectionView(_:didUpdateFocusIn:with:),但在这种情况下,我们只在焦点已经移动到“错误”单元格之后才更新焦点,因此用户可以清楚地看到焦点从错误单元格移动到正确单元格.

也不理想。

我正在使用我自己的 and 子类UICollectionViewLayoutUICollectionView但是我没有看到任何我可以覆盖的东西,以便能够手动决定在shouldUpdateFocusIn调用之前向上/向下/向左/向右导航时接下来要关注的索引路径。

有什么办法可以做到这一点?

0 投票
0 回答
73 浏览

swiftui - 包裹在可聚焦 HStack 中的 SwiftUI tvOS 按钮不响应操作

我在 tvOS 上发现了关于使用 SwiftUI 的焦点引擎的类似问题。我想我设法通过将两个Buttons 包裹在里面来解决焦点问题HStack

在此处输入图像描述

但现在对Buttons动作没有反应。这太令人困惑了。以前有没有人解决过类似的问题?