VoiceOver手势无法按预期运行

时间:2014-04-10 08:00:59

标签: ios objective-c uitableview voiceover uiaccessibility

我的应用程序中有一些VoiceOver支持的挑战,我发现它很难调试。

我有一个表格视图,其中每个单元格都是VoiceOver可以读取的元素。当我点击每个元素时,它工作正常。它的摘要是大声朗读的。当我按照here所述使用双指向下滑动手势时,它应循环遍历表格视图中的所有单元格,一直到底部,大声朗读所有内容。问题是,它开始阅读并按预期通过细胞,但随后突然停止。我可以看到VoiceOver光标移动,它甚至移动到下一个单元格,但之后不会读取它。

我尝试将UITableView子类化并实现UIAccessibilityContainer方法,但这并没有改进。

我在视图中有不同类型的单元格,我怀疑其中一种单元格类型可能会导致这种情况,因为它似乎在此单元格类型停止后停止,但它始终将光标移动到下一个单元格并且它不会在此单元格类型之后,'t 始终停止。

我很乐意提供一些代码,但此时我不确定要提供什么。 :)

我不知道如何调试这样的东西,因为在调用此手势时我似乎没有得到任何回调。即使您无法回答这个问题,我们也非常感谢您提供有关如何调试此类VoiceOver问题的任何提示。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,虽然我完全不了解它。

进展停止,不是在某种细胞类型之后,而是在滚动之后。在大多数单元格中,我依赖于隐式accessiblityLabel,因此我没有直接指定标签。

在尝试解决问题时,我更改了单元格,以便它们都覆盖accessibilityLabel属性并专门返回标签。这使它发挥作用。

我怀疑这是由某种时间问题引起的,其中新被加载的单元格在被询问其可访问性标签之前没有完全加载其数据。