UISwipeGestureRecognizer を使用しています。次の問題があります。四角に触れると回転し、手を離すと回転が止まります。タイマーで、タッチして10秒経過すると、正方形が自動的に回転を停止するようにしたいと思います。解決策を見つけましたが、それはきれいではないと思います。メソッドから自動的に渡す考えはありますか:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
メソッドに:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
私はこのコードを使用していました:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
if ([self state] == UIGestureRecognizerStatePossible) {
[self setState:UIGestureRecognizerStateBegan];
NSLog(@"Algo Began");
}
if ([[event touchesForGestureRecognizer:self] count] > 1)
{
[self setState:UIGestureRecognizerStateCancelled ];
NSLog(@"Algo Fail");
}
if (chowMuch==50) {
//[self setState:UIGestureRecognizerStateFailed ];
[self setState:UIGestureRecognizerStateRecognized ];
NSLog(@"Algo falla que pasara");
}
else {
[self setState:UIGestureRecognizerStateChanged];
NSLog(@"Algo changed");
}
}
メソッドは常に を実行してNSLog(@"Algo changed")
います。つまり、四角形に触れると状態は UIGestureRecognizerStateChanged になりますが、chowMuch
が 50 になると、これが終了します。に渡す考えはありますかtouchesEnded