2012-01-18 7 views
3

私のアプリは、指先1本、指先2本、指3本、スワイプジェスチャーの3種類のタップで1回タップします。ボイスオーバーとの直接の対話ですか?

しかし、ボイスオーバーがオンの場合、正しくタップを検出できません。 VoiceOverので

私は

if (UIAccessibilityIsVoiceOverRunning()) { 

UIView *interactionView = [[UIView alloc]init]; 

[self.view addSubview:interactionView]; 

[self.view bringSubviewToFront:interactionView]; 

[interactionView setAccessibilityTraits:UIAccessibilityTraitAllowsDirectInteraction]; } 

を試してみました。しかし、それはタップ(touchesBegan:withEvent:など)を処理できるようにするにはタップ

答えて

3

では動作しませんがオンになって、次の2つの変数を設定する必要がありますUIViewの:

view.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction; 
    view.isAccessibilityElement = YES; 

あなたは後者を設定しませんでした。ただし、これを行うと、そのビューに対して行われたデフォルトのジェスチャーが無効になることに注意してください。あなたがそれを望んでおらず、タッチを完全に制御するのではなく基本的なジェスチャーが必要な場合は、のようなジェスチャー認識機能(addGestureRecognizer:)をビューに追加してみてください。

関連する問題