自动读取第一个元素的辅助功能

ozd*_*ozd 4 accessibility ios voiceover

我有一个 iOS 应用程序,我正在为其添加辅助功能。

当屏幕被按下时,语音会自动读取屏幕上的第一个元素 - 在我的例子中,它会读取我的后退按钮 -UINavigationBarButton我的UINavigationBar.

如果我禁用后退按钮的辅助功能 - 它会读取我的屏幕标题+当用户触摸后退按钮时它不会读取后退按钮。

那么...当我推入新屏幕时,如何让画外音关闭?仅当我告诉它或用户触摸某个元素时才会说话。

谢谢。

Chr*_*sCM 5

当发生“屏幕更改”类型的事件时,VoiceOver 将自动读取内容的第一个元素。它通过推送 UIAccessibilityScreenChanged 通知来实现这一点。系统会在某些类型的转换、转场等上为您执行此操作。您无法阻止这种情况发生,也不应该阻止这种情况发生。这是期望的行为。如果您想将焦点发送到更有用的位置(UINavigationBar 以外的其他位置),您可以考虑UIAccessibilityScreenChangedNotification自己发布,并为其提供不同的焦点视图。

UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, viewToFocus);
Run Code Online (Sandbox Code Playgroud)