我正在构建一个纸牌游戏(对于tvos),用户应该能够从板卡中移除卡片。在游戏结束时,只有几张牌可以留在棋盘上,例如,它们可能被安排为下面图片中的按钮。
如何让用户将焦点从按钮1移动到按钮0或2?
在一个类似问题的未被接受的答案中,有人建议应该使用UIFocusGuide。我不认为这个答案适用于我的问题,因为在这种方法中,必须事先告诉focusGuide preferredFocusedView (例如,在用户使用siri-remote刷卡之前)!在我的例子中,首选的下一个焦点取决于滑动方向,例如focusHeading。

发布于 2015-12-25 19:18:23
UIFocusGuide是处理此问题的适用方法,在知道用户将移动哪个方向(基于哪个按钮具有初始焦点)之前,可以为每个焦点指南分配一个preferredFocusedView。
例如,这里为您编辑的示例提供了一个解决方案,它展示了如何将焦点从聚焦按钮1移动到按钮0或按钮2。
如果用户向上或向左滑动,焦点将移动到绿色焦点指南之一,这将将首选焦点视图更改为按钮0。
如果用户碰巧从按钮1向下滑动或右转,焦点将移动到蓝色焦点指南之一,按钮2将成为焦点。

当焦点发生变化时,您将更新焦点指南,以引导焦点返回方向。例如,一旦按钮0获得焦点,您将更新绿色焦点指南的preferredFocusedView,使其更喜欢按钮1,这样用户就可以从焦点按钮0向下移动或从焦点按钮0直接移到按钮1处。

请记住,如果焦点引擎无法确定下一个视图,您只需要一个焦点指南。您应该测试不同的场景,以确定何时实际需要指南。
https://stackoverflow.com/questions/34462932
复制相似问题