当前位置 : 主页 > 手机开发 > 无线 >

tvos如何让用户更自由地移动焦点?

来源:互联网 收集:自由互联 发布时间:2021-06-10
我正在构建一个卡片游戏(用于tvos),用户应该能够从棋盘上移除卡片. 在游戏结束时,只有几张牌可以留在棋盘上,他们可能会在被安排为下图中的按钮. 如何让用户将焦点从说按钮1移动到
我正在构建一个卡片游戏(用于tvos),用户应该能够从棋盘上移除卡片.
在游戏结束时,只有几张牌可以留在棋盘上,他们可能会在被安排为下图中的按钮.

如何让用户将焦点从说按钮1移动到按钮0或2?

在SO的类似问题的未被接受的答案中,有人建议应该使用UIFocusGuide.我不认为答案适用于我的问题,因为在这种方法中,必须事先告知focusGuide preferredFocusedView(例如在用户在siri-remote中滑动之前)!在我的情况下,首选的下一个焦点取决于滑动方向,例如,焦点头.

enter image description here

UIFocusGuide是处理此问题的适用方法,可以在知道用户将移动的方向(基于哪个按钮具有初始焦点)之前为每个焦点指南分配preferredFocusedView.

例如,这里是您编辑的示例的解决方案,它显示了如何将焦点从聚焦按钮1移动到按钮0或按钮2.

如果用户向上或向左滑动,焦点将移动到绿色焦点向导之一,这会将首选焦点视图更改为按钮0.

如果用户碰巧从按钮1向下或向右滑动,则焦点将移动到其中一个蓝色焦点向导中,并且按钮2将变为焦点.

enter image description here

当焦点发生变化时,您需要更新焦点指南以引导焦点返回到返回方向.例如,一旦按钮0获得焦点,您就会将绿色焦点指南的preferredFocusedView更新为首选按钮1,这样用户就可以从焦点按钮0向下或向右移动,最后返回按钮1.

enter image description here

请记住,如果焦点引擎无法确定下一个视图,您只需要一个焦点指南.您应该测试不同的方案以确定何时需要实际指南.

网友评论