【问题标题】:How do I get the currently focused element when using VoiceOver on iOS?在 iOS 上使用 VoiceOver 时如何获取当前焦点元素?
【发布时间】:2013-12-28 05:14:26
【问题描述】:

我有一个表格,其中包含用户可以滑动以将其标记为“已完成”的单元格。我正在尝试通过实现 accessbilityScroll 方法使用 VoiceOver 使其可访问。

这很好用,但我不知道当用户滚动时哪个单元格具有焦点。

我只找到有关如何改变焦点的信息。

【问题讨论】:

    标签: ios objective-c accessibility voiceover


    【解决方案1】:

    呵呵,好的。我刚刚想通了。

    为此有一个协议。它叫UIAccessibilityFocus

    方法:accessibilityElementDidBecomeFocused:

    好吧,我会把这个问题留给其他正在为此苦苦挣扎的人。

    【讨论】:

    • 我还在 UIView 上创建了一个类别,并覆盖了那里的功能。这提供了一个很好的全局回调,每次状态更改时都会受到影响。在这里查看我的答案stackoverflow.com/a/40914451/1532838
    【解决方案2】:

    您的程序还可以判断 VoiceOver 的“焦点”(它正在处理的对象)在哪里,以及“焦点”何时进入或离开任何给定对象。

    For Focus Information click here

    – accessibilityElementDidBecomeFocused
    
    – accessibilityElementDidLoseFocus
    
    – accessibilityElementIsFocused
    

    【讨论】:

    • 是的,它是协议 UIAccessibilityFocus 的一部分,我在自己的回答中提到过。你的答案和我的不一样吗?
    【解决方案3】:

    iOS9 起可以使用

    UIAccessibilityFocusedElement(UIAccessibilityNotificationVoiceOverIdentifier)
    

    https://developer.apple.com/documentation/uikit/1615119-uiaccessibilityfocusedelement

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-01
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 2019-11-08
      相关资源
      最近更新 更多