当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《tvos如何让用户更自由地移动焦点?》经验,为你挑选了1个好方法。

我正在构建一个卡片游戏(用于tvos),用户应该能够从棋盘上移除卡片.在游戏结束时,只有几张牌可以留在棋盘上,并且它们可以例如被安排为下图中的按钮.

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

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

在此输入图像描述



1> 小智..:

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

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

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

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

在此输入图像描述

当焦点发生变化时,您需要更新焦点指南以引导焦点返回到返回方向.例如,一旦按钮0获得焦点,您将更新preferredFocusedView绿色焦点指南以更喜欢按钮1,因此用户可以从聚焦按钮0向下或向右移动并最终返回按钮1.

在此输入图像描述

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

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有