2012-01-11 62 views
45

我試圖將輔助功能添加到已經開發的iOS應用程序中。iOS配音狀態

如果iPhone設置的輔助功能菜單中的VoiceOver選項處於打開狀態,並且在配音關閉時不顯示,我喜歡他們顯示幾個UI功能(例如按鈕)。

有沒有辦法檢查配音選項是否打開?

回答

89
BOOL UIAccessibilityIsVoiceOverRunning(); 
25

在viewDidLoad中

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(voiceOverStatusChanged) 
              name:UIAccessibilityVoiceOverStatusChanged 
              object:nil]; 


- (void)voiceOverStatusChanged 
{ 
    if(!UIAccessibilityIsVoiceOverRunning()) 
    { 
     //do your changes 
    } 
} 
0

由於iOS11,新通知的名稱中使用是 'UIAccessibilityVoiceOverStatusDidChange'(SWIFT 4)和 'UIAccessibilityVoiceOverStatusDidChangeNotification'(ObjC),而 'UIAccessibilityVoiceOverStatusChanged' 被棄用。