【问题标题】:Reacting to VoiceOver events对 VoiceOver 事件做出反应
【发布时间】:2012-02-26 07:21:51
【问题描述】:

在我的应用程序中,我有一个循环显示多个图像的视图。非 VoiceOver 用户可以在视图上滑动,以便在图像列表中向后或向前移动。我已经使用 UIAccessibilityContainer 协议正确地填充了可访问性元素,以便 VoiceOver 用户能够通过单指下一个/上一个项目的手势来“听到”这个集合中的所有项目。

我不知道如何根据这些事件更新 UI 中的图像。现在,我意识到 VoiceOver 是为盲人用户设计的,如果 UI 不更新,这可能不是一个巨大的交易,但一些 VoiceOver 用户只是部分失明,这是执行正确行为的关键无论如何。

有没有办法判断用户何时在可访问性容器中选择了不同的元素,以便我可以相应地更新 UI?

【问题讨论】:

    标签: cocoa-touch accessibility


    【解决方案1】:

    UIAccessibilityFocus 协议是您正在寻找的吗?具体accessibilityElementDidBecomeFocused?我猜你容器中的每个元素都应该在 VoiceOver 将焦点移到它们上时调用它。

    【讨论】:

    • 是的,这看起来像我想要的。我将不得不重新设计一些东西来尝试一下(我只是像文档建议的那样手动创建 UIAccessibilityElements,所以没有什么可以“获取”该消息)。
    • 我试图覆盖 UIAccessibilityFocus 协议中的函数,但是在 VoiceOver 中并没有任何内容被触发并且元素被聚焦。有任何想法吗?我添加了一个自定义 UITableViewCell 和一个自定义 UITextField...
    猜你喜欢
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 2016-11-04
    • 2021-11-08
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多