让 Switch Control 用户通过按下开关触发动作

Posted

技术标签:

【中文标题】让 Switch Control 用户通过按下开关触发动作【英文标题】:Let Switch Control users trigger an action with a switch press 【发布时间】:2014-08-13 10:34:46 【问题描述】:

我有一个开关控制设备“Ablenet (BLUE 2)”,我想使用开关设备控制我的应用程序。我的应用程序是一个分页(水平页面)新闻阅读器应用程序,我希望切换设备来控制我的应用程序上的新闻页面前进和后退。我可以将它与 ios 的默认辅助功能菜单一起使用。

问题是导航需要很长时间。在我的应用程序代码中,我可以在哪里处理原始开关输入事件以加快用户处理速度?

【问题讨论】:

版主注意:我看到“不清楚”的投票结果很接近,但对于熟悉该功能的人来说,这个问题是完全合理的。如果有什么需要澄清的,请说出来。鉴于关于 Switch Control 的技术文档很少,这是一个需要保留的重要问题。 编辑:编辑问题以使请求更清晰。 【参考方案1】:

您的应用程序不应该也确实不能直接响应开关输入事件。那就是Switch Control的作用。 Switch Control 将这些按键解释为指示矩形光标的命令,允许用户导航并与您的应用程序交互。通过UIAccessibility Protocol 公开的控件可以快速浏览。未通过此协议公开的控件只能使用扫描光标进行导航,这是一种有点麻烦的工具,允许切换用户发出触摸手势。如果您对应用在切换访问下的用户体验不满意,请阅读how to make your app more accessible 为所有用户提供服务。 VoiceOver 支持的许多课程可推广到其他可访问性客户端,包括 Switch Control。

【讨论】:

我在屏幕上还有许多其他 UI 元素。每次用户需要转到下一页时,他/她都必须使用切换控件循环浏览屏幕上的所有 UI 元素。这是为了在屏幕上前后移动内容而进行的大量点击。恐怕有运动障碍的用户会觉得很难。 首先,您可能会惊讶于切换用户扫描屏幕元素的速度之快。查看how fast Mike Phillips scans。其次,您可以通过采用UIAccessibilityContainer protocol 并使用子元素的索引来影响扫描顺序。但是,详细信息超出了您最初问题的范围。 谢谢,这太棒了。

以上是关于让 Switch Control 用户通过按下开关触发动作的主要内容,如果未能解决你的问题,请参考以下文章

Linux ALSA声卡驱动之四:Control设备的创建

Linux ALSA驱动之四:Control设备创建流程源码分析(5.18)

weui-switch开关控件,表单提交后如何取值

AVR单片机教程——数字输入

Linux ALSA驱动之四:Control设备创建流程源码分析(5.18)

switch的用法例句