1

我的应用程序中的 VoiceOver 支持遇到了一些挑战,而且我发现很难调试。

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

我试图子类UITableView化并实现这些UIAccessibilityContainer方法,但这并没有改善。

在我看来,我有不同类型的单元格,我怀疑其中一种单元格类型可能会导致这种情况,因为当它停止时,它似乎在此单元格类型之后停止,但它总是将光标移动到下一个单元格,而且并不总是在这种细胞类型之后停止。

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

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

4

1 回答 1

1

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

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

为了解决这个问题,我更改了我的单元格,以便它们都覆盖该accessibilityLabel属性并专门返回一个标签。这使它工作。

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

于 2014-04-10T09:09:35.950 回答