開発済みの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)。... UIAccessibilityVoiceOverStatusChanged
は非推奨です。
[〜#〜] edit [〜#〜] for Swift 4.2 ==> UIAccessibility.voiceOverStatusDidChangeNotification