OStack程序员社区-中国程序员成长平台

标题: ios - 将 ViewController 中的所有元素设置为不被 VoiceOver 读取 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:04
标题: ios - 将 ViewController 中的所有元素设置为不被 VoiceOver 读取

我正在寻找一种方法来告诉 VoiceOver 不要读取整个 ViewController 的元素值(value)。原因是,我有一个按钮,当按下它时,会在屏幕上显示一个模态的 VC。我说modal-ish,因为它不是modal,而是一个自定义的VC,里面有一个自定义的动画,实际上并没有覆盖整个屏幕,所以新的VC和旧的VC同时在 View 中并保持在内存中。

当用户用两根手指滑动以读取屏幕上的所有元素时,VoiceOver 将首先读取我的新 VC 中的元素,就像它应该的那样,然后它会开始读取这个 VC 后面现在“隐藏”的元素(在引号中,因为它们没有以编程方式设置为隐藏,只是因为 VC 覆盖了它们而被隐藏)并且不应该被阅读。

有什么简单的方法可以让 VoiceOver 跳过整个旧 VC?或者我是否必须逐个元素地检查,并将 isAccessibilityElement 设置为 NO,然后在覆盖 VC 被解除时返回 YES?



Best Answer-推荐答案


如果您想跳过特定元素的配音,则必须禁用该元素的可访问性(如果它已在 Storyboard 中设置),否则您必须以编程方式进行。您必须将 IsAccessibilityElement 设置为 NO,以使语音跳过该元素。

还有另一种方法可以做到这一点。您必须创建一个数组并提供您希望通过语音读取的元素,因此当您希望将此数组提供给:accessibilityElements,这样语音 ovr 只会读取您在大批。您可以随时根据需要修改数组。

关于ios - 将 ViewController 中的所有元素设置为不被 VoiceOver 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32783664/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4