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