我正在尝试为已经开发的iOS应用添加辅助功能。
如果iPhone设置的辅助功能菜单中的VoiceOver选项打开,并且如果关闭配音时没有显示,则我希望它们显示一些UI功能(例如按钮)。
有没有办法检查画外音选项是否打开?
答案 0 :(得分:104)
BOOL UIAccessibilityIsVoiceOverRunning();
答案 1 :(得分:30)
在ViewDIdLoad中
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(voiceOverStatusChanged)
name:UIAccessibilityVoiceOverStatusChanged
object:nil];
- (void)voiceOverStatusChanged
{
if(!UIAccessibilityIsVoiceOverRunning())
{
//do your changes
}
}
答案 2 :(得分:3)
作为以前所有正确答案的补充,自iOS11起,使用的新通知名称为:
UIAccessibilityVoiceOverStatusDidChange
(SWIFT< 4.2)。UIAccessibilityVoiceOverStatusDidChangeNotification
(ObjC)。 ...不推荐使用UIAccessibilityVoiceOverStatusChanged
。
编辑 UIAccessibility.voiceOverStatusDidChangeNotification
答案 3 :(得分:3)
对于Swift 4.2,您可以检查UIKit提供的以下布尔值:
UIAccessibility.isVoiceOverRunning