статус iOS Voiceover


Я пытаюсь добавить специальные возможности в приложение iOS, которое уже было разработано.

есть несколько функций пользовательского интерфейса (например, кнопки), которые мне нравятся, чтобы они отображались, если опция VoiceOver в меню специальных возможностей настроек iPhone включена и не отображается, если voiceover выключен.

есть ли способ проверить, включена ли опция voiceover или нет?

3   51   2012-01-12 02:56:17

3 ответа:

BOOL UIAccessibilityIsVoiceOverRunning();

В ViewDIdLoad

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


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

начиная с iOS11, новое имя уведомления, которое будет использоваться, является ' UIAccessibilityVoiceOverStatusDidchange '(SWIFT 4) и' UIAccessibilityVoiceOverStatusDidchangenotification '(ObjC), в то время как' UIAccessibilityVoiceOverStatusChanged ' является устаревшим.