既に開発されている iOS アプリにアクセシビリティ機能を追加しようとしています。
iPhone 設定のアクセシビリティ メニューの VoiceOver オプションがオンの場合に表示され、ナレーションがオフの場合は表示されない UI 機能 (ボタンなど) がいくつかあります。
ボイスオーバー オプションがオンになっているかどうかを確認する方法はありますか?
既に開発されている iOS アプリにアクセシビリティ機能を追加しようとしています。
iPhone 設定のアクセシビリティ メニューの VoiceOver オプションがオンの場合に表示され、ナレーションがオフの場合は表示されない UI 機能 (ボタンなど) がいくつかあります。
ボイスオーバー オプションがオンになっているかどうかを確認する方法はありますか?
BOOL UIAccessibilityIsVoiceOverRunning();
ビューでDIdLoad
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(voiceOverStatusChanged)
name:UIAccessibilityVoiceOverStatusChanged
object:nil];
- (void)voiceOverStatusChanged
{
if(!UIAccessibilityIsVoiceOverRunning())
{
//do your changes
}
}
以前のすべての正解の補足として、iOS11 以降、このアクセシビリティ オプションの要約に従って、使用される新しい通知名は次のとおりです。
UIAccessibilityVoiceOverStatusDidChange
(スイフト < 4.2)。UIAccessibilityVoiceOverStatusDidChangeNotification
(オブジェクト)。... whileUIAccessibilityVoiceOverStatusChanged
は非推奨です。
SWIFT 4.2の編集==>UIAccessibility.voiceOverStatusDidChangeNotification