有没有办法让iOS播放UIActionSheet呈现时发出的音调?这是突然的哔哔声,后面紧跟着“警告”一词。

我已经搜索了文档,却找不到合适的东西。

最佳答案

并非所有系统控件的行为都可以使用UIAccessibility协议(protocol)精确地重新实现。没有公共(public)API发出这样的可访问性提示音。但是,您可以做的是以VoiceOver和其他辅助客户端知道的警告用户的方式描述控制和过渡。

根据应用程序的实现方式,您可能需要使用UIAccessibility来通知UIAccessibilityPostNotification()屏幕内容已更改,它接受两个参数:通知类型和对象。对于屏幕更改通知,该对象表示下一个应该获得焦点的元素。 VoiceOver将处理此通知,发出提示音,然后将光标移动到指定的元素。

通常,您根本不应该尝试“让UIAccessibility执行”任何操作。该协议(protocol)可让您描述应用程序的内容和状态。每个辅助客户端都应根据自己的意愿将这些描述转换为替代界面。 VoiceOver并不是唯一依赖UIAccessibility的可访问性功能!如果您在应用程序中表现出其行为,则可能使VoiceOver用户感到困惑,并使其他辅助功能(如“开关控制”)的用户疏远。

编辑:另一个答案建议您自己播放声音。再一次,我强烈建议您不要为VoiceOver已经涵盖的场景引入您自己的声音。系统声音图标传达的不仅仅是上下文。他们还向用户保证特定的控件是标准且可预测的,并实现了所有预期的行为。举个简单的例子,您的自定义工作表是否支持两指擦洗手势(可访问性转义)?系统工作表确实如此,如果人们听到工作表的声音,人们会期望它。

10-07 20:11