すぐにジェスチャーを認識するための簡単なコード設定があります。ただし、デバイスにVoiceOverが有効になっていて、ダブルタップジェスチャー機能を使用しようとすると(ジェスチャーをvoiceOverを通じてアプリに渡す)、ジェスチャーを認識していないようです。iPhone:VoiceOverで標準的なジェスチャーを認識する方法
さらに詳しく: 通常、ボイスオーバーが有効なアプリケーションを使用していて、アプリケーションにジェスチャ認識機能がある場合は、ダブルタップして1秒間ホールドしてからボイスオーバーすると音が鳴ります。その後、ジェスチャーを実行することができ、それはボイスオーバーを介してアプリに渡されます。私の問題は、ダブルタップしてホールドしても、ボイスオーバーで音色が変化しないということです。
私のコードでボイスオーバーに通知するために、私のアプリがジェスチャーを使用しているかどうか、またはそのようなことが何かあるかどうかは疑問です。
コード:
- (void)viewDidLoad
{
[super viewDidLoad];
// Swipe Left
UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSwipeLeft:)];
swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:swipeLeft];
[swipeLeft release];
// Swipe Right
UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSwipeRight:)];
swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:swipeRight];
[swipeRight release];
}
- (void)handleSwipeLeft:(UISwipeGestureRecognizer *)recognizer
{
CGPoint location = [recognizer locationInView:self.view];
NSLog(@"Swipe left started at (%f,%f)",location.x,location.y);
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"Swipe Left");
}
- (void)handleSwipeRight:(UISwipeGestureRecognizer *)recognizer
{
CGPoint location = [recognizer locationInView:self.view];
NSLog(@"Swipe right started at (%f,%f)",location.x,location.y);
}
同じ問題が発生し、解決策が見つかりません。 – berec