Apple 打算用一个滑动手势按顺序在屏幕项目中移动 VoiceOver 光标,但我没有这样做,因为用户可以四处移动它们!
我的主视图有一组按钮和标签,但是它也有两个自定义子视图集合,让我们从左到右按“升序”调用实例 SVA1 到 SVA9 和 SVB1 到 SVB9。也就是说,SVA 是一个自定义 UIView 类,而 SVB 是第二个。例如,当我将 SVA3 拖动到 SVA6 的当前位置时,我最终会得到 SVA1、SVA2、SVA4、SVA5、SVA3、SVA6、SVA7、SVA8 和 SVA9 的顺序。这些集合是“链接的”,因此现在也可以通过我的代码将相同的订单镜像到 SVB 子视图集合中。
我的问题是向右滑动,当我在屏幕上看到我的项目时,期望 VoiceOver 读出我的项目会导致不同的顺序。它得到了相当多的权利,但随后会突然将 VoiceOver 光标从第一个集合移动到第二个集合或改变它的方向。移动后,我的代码知道所有子视图的新顺序,但我希望能够将该信息传递给 VoiceOver。
每个自定义子视图都是一个accessibilityElement。有没有办法让 VoiceOver 按我期望的顺序读回我的项目?我遇到了 -accessibilityElementAtIndex: 方法,但不知道它是否或如何适合我的情况。
谢谢你。