iOS屏幕通过UIAccessibility VoiceOver不断刷新

4

我有一个iOS应用程序,想要使其可访问。在大部分屏幕中一切正常,但是在某些屏幕中,Voice Over会失去焦点并跳到第一个可访问元素上。就好像屏幕一直在刷新一样。我使用UIAccessibilityInspector观察到,在一段时间内不断地发送ScreenChanged通知。这真的很烦人,因为我不知道为什么会发送这些通知,以及如何停止/控制它们。

谢谢, Alex

1个回答

1
我曾经遇到过类似的问题,发现是由于我设置了一个UIPageControl和一个定时器来自动循环控制器中的页面。由于某种原因,这导致滚动重置了UIAccessibility到视图中的第一个元素,就像你所说的那样。请检查并查看是否有任何动画或状态更改。

当然,这是原因,但解决方案是什么?你现在肯定不会阻止自动滚动只是为了避免无障碍问题。 - NSProgrammer
在我的情况下,我使用了“UIAccessibilityIsVoiceOverRunning()”API来检查VoiceOver是否开启,并在开启时关闭了自动滚动效果。用户仍然可以手动滚动滚动视图。 - bdmontz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接