Program Tip

iOS 보이스 오버 상태

programtip 2020. 11. 23. 19:56
반응형

iOS 보이스 오버 상태


이미 개발 된 iOS 앱에 접근성 기능을 추가하려고합니다.

iPhone 설정의 접근성 메뉴에서 VoiceOver 옵션이 켜져있는 경우 표시되고 음성 해설이 꺼져있는 경우 표시되지 않는 몇 가지 UI 기능 (예 : 버튼)이 있습니다.

음성 해설 옵션이 켜져 있는지 여부를 확인할 수있는 방법이 있습니까?


BOOL UIAccessibilityIsVoiceOverRunning();

ViewDIdLoad에서

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


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

Swift 4.2의 경우 UIKit에서 제공하는 다음 부울을 확인할 수 있습니다.

UIAccessibility.isVoiceOverRunning


이전의 모든 정답을 보완하기 위해 iOS11부터 사용할 새 알림 이름은 다음과 같습니다.

  • UIAccessibilityVoiceOverStatusDidChange (SWIFT <4.2).
  • UIAccessibilityVoiceOverStatusDidChangeNotification (ObjC).

... while UIAccessibilityVoiceOverStatusChanged은 더 이상 사용되지 않습니다.

EDIT 위한 SWIFT 4.2 ==>UIAccessibility.voiceOverStatusDidChangeNotification

참고 URL : https://stackoverflow.com/questions/8827951/ios-voiceover-status

반응형