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ですか?