如果您开始按屏幕,但由于minimumPressDuration
瘫痪而移动手指,手势会被取消,您的动作会被移到视图中。如果达到minimumPressDuration
,则移动手指的数量并不重要。我想避免这种情况,如果手指移动大于allowableMovement
,我总是取消手势。
我已经看过this thread,但该解决方案并不适用于我。
我已经尝试了对UILongPressureGestureRecognizer
进行子类化,并在满足我的要求时将状态设置为失败或取消,但似乎无法正常工作,我想取消它是不够的并且必须自己转发活动?我该怎么做?我的意图是与MKMapView
一起使用它。我对此感到非常沮丧,我已经试了两天。
答案 0 :(得分:0)
试试这个:
UILongPressGestureRecognizer *longpress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(LongPress_action:)];
longpress.minimumPressDuration = 2.0; //seconds
longpress.delegate = self;
[yourview addGestureRecognizer:longpress]; // where you want to add
调用此方法:
- (void)LongPress_action:(UILongPressGestureRecognizer*)gesture
{
if ( gesture.state == UIGestureRecognizerStateEnded )
{
NSLog(@"Long Press");
}
}