0

UILongPressGestureREcognizer最小プレス長が 0 秒の があります。UIViewUIGestureRecognizerStateStartを変更します。ではUIGestureRecognizerStateEnded、報道機関が行うと想定されるコードを実行します。

-(IBAction)longPressDetected:(UILongPressGestureRecognizer *)recognizer {    
    static NSTimer *timer = nil;

    if (recognizer.state == UIGestureRecognizerStateBegan) {
        // alter look of UIView
    }
    else if (recognizer.state == UIGestureRecognizerStateEnded) {
        // do something
        // change look back to original state
    }
}

でタッチが開始され、UIViewタッチが の外側にドラッグUIViewされて持ち上げられた場合でも、 が起動するという問題が発生してUIGestureRecognizerStateEndedいます。

の内側でタッチを処理しUIView、ユーザーが の外側をドラッグUIViewしてキャンセルできるようにする必要があります。

私はそれができることを知っていUIButtonますが、私が持っているすべてのニーズを満たすわけではありません.

タッチが の外にドラッグされた場合、タッチをキャンセルするにはどうすればよいUIViewですか?

4

1 に答える 1

1

タッチ位置のチェックを追加。この方法は便利です。

- (CGPoint)locationInView:(UIView *)ビュー

于 2013-09-27T14:43:14.137 に答える