Ios 使用画外音模拟UIAlertView:发出正确的声音

Ios 使用画外音模拟UIAlertView:发出正确的声音,ios,accessibility,uialertview,voiceover,Ios,Accessibility,Uialertview,Voiceover,我决定创建一个类来模拟UIAlertView的功能,这样我就可以有一个更好的回调API,更好地对警报进行主题化。我在iOS主窗口中添加了另一个窗口以显示警报 问题在于画外音。使用标准的UIAlertViewvoiceover会发出一种特殊的声音,表示屏幕上有一个警报视图 我可以通过发布UIAccessibilityScreenChangedNotification获得标准的画外音屏幕更改提示,但这与警报视图的提示不同 我希望这对voiceover用户来说就像是一个UIAlertView。要做到这

我决定创建一个类来模拟
UIAlertView
的功能,这样我就可以有一个更好的回调API,更好地对警报进行主题化。我在iOS主窗口中添加了另一个窗口以显示警报

问题在于画外音。使用标准的
UIAlertView
voiceover会发出一种特殊的声音,表示屏幕上有一个警报视图

我可以通过发布
UIAccessibilityScreenChangedNotification
获得标准的画外音屏幕更改提示,但这与警报视图的提示不同


我希望这对voiceover用户来说就像是一个
UIAlertView
。要做到这一点,我需要能够编程复制它的特殊啁啾

这并不理想(例如,您会丢失主题),但您可以让您的自定义实现使用
UIAccessibilityVoiceOverwing()
检测是否启用了VoiceOverwing(),并退回到使用标准的
UIAlertView
,如果是。

这并不理想(例如,您会丢失主题),但是您可以让您的自定义实现使用
uiaccessibilityvoiceoverning()
检测是否启用了VoiceOverning(),如果启用了,则返回到使用标准的
UIAlertView

您知道这一点都不坏。在警报替换充当
UIAlertViewDelegate
的情况下,我仍然可以进行完成块回调。值得一提的是,旁白客户往往是最好的客户。你知道这根本不是个坏主意。在警报替换充当
UIAlertViewDelegate
的情况下,我仍然可以进行完成块回调。值得一提的是,旁白客户往往是最好的客户。