简体   繁体   English

使用UIPanGestureRecognizer后,UILongPressGestureRecognizer不起作用

[英]UILongPressGestureRecognizer don't work after the use of a UIPanGestureRecognizer

When my hitView comes partially from the superview after a UIPanGestureRecognizer, the UILongPressGestureRecognizer don't work. 当我的hitView部分来自UIPanGestureRecognizer之后的超级视图时,UILongPressGestureRecognizer不起作用。 Why? 为什么?

   - (id)initWithFrame:(CGRect)frame 
    {
      UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
    [panGesture setMaximumNumberOfTouches:1];
    [panGesture setDelegate:self];
    [_glassesImage addGestureRecognizer:panGesture];


    UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(enchance:)];
    longPressGesture.minimumPressDuration = 0.2;
    [_glassesImage addGestureRecognizer:longPressGesture];


    [self addSubview:_glassesImage];
    }



    - (void)enchance:(UILongPressGestureRecognizer *)gestureRecognizer 
   {
        UIView *hitView = [gestureRecognizer view];
        hitView.alpha=0.6;
        inLongPress=YES;
        gestureRecognizer.allowableMovement = 200;

      if ([gestureRecognizer state] == UIGestureRecognizerStateEnded){
        hitView.alpha=1.0;
        inLongPress=NO;

      }
    }

Try defining a delegate for your gesture recognizers and then provide an implementation for: 尝试为手势识别器定义一个委托,然后提供以下实现:

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

( refs ) 参考

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
    return YES;
 }

Add delegate to longPressGesture. 将委托添加到longPressGesture。

longPressGesture.delegate = self;

I think it will be helpful to you. 我认为这将对您有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM