微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在“allowsDirectInteraction”标记视图中的直接交互当 VoiceOver 处于活动状态时不起作用

如何解决在“allowsDirectInteraction”标记视图中的直接交互当 VoiceOver 处于活动状态时不起作用

编辑:刚刚注意到,有时,它有效,有时无效。我不知道为什么。

我正在制作一个主要为盲人设计的应用程序,VoiceOver 可能会处于活动状态。一方面,我需要自己进行交互和手势。在那里,我试图制作一个可直接交互的区域,以便其背后的功能就像没有 Voiceover 活动一样工作,即使它是。但是当我这样做时,VoiceOver 总是会提示:“区域直接交互”或类似的东西(测试设备未设置为英语),而不是双击打印文本。

有人知道可能是什么问题吗?

这是我的观点:

struct MyView: View {
    var body: some View {
        TestView()
            .accessibilityAddTraits(.allowsDirectInteraction)
    }
}

这就是测试视图:

struct TestView: View {
    var body: some View {
        Rectangle()
            .onTapGesture(count: 2) { print("A View was tapped") }
            .onAppear { print("A View was created") }
    }
}

解决方法

当有一个用完所有空间的视图时,它不能像看起来那样作为默认直接交互。用户需要使用转子或设置自己完成此操作:

设置应用/辅助功能/VoiceOver/转子操作/直接触摸应用/

当应用程序被签入该设置时,标有 trait .allowDirectInteraction 的视图确实像 VoiceOver 未激活一样工作,尽管这应该仅用于可自行访问的元素,而不是简单的方法来避免使这些部分可以访问该应用程序!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。