【问题标题】:detect from which recognizer a gesture is coming检测手势来自哪个识别器
【发布时间】:2013-05-06 05:00:27
【问题描述】:

我有 2 个视图:带有标签 1 的视图和带有标签 2 的视图。 每个视图都有两个手势识别器。

CGRect tempRect=CGRectMake(0, 0, 100, 100);


for (int i=1; i<=2; i++) {
    UIView *tempView=[[UIView alloc] initWithFrame:tempRect];
    UIImageView *tempImageView=[[UIImageView alloc]initWithFrame:tempRect];
    tempImageView.image=[UIImage imageNamed:[NSString stringWithFormat:@"%@%d%@",@"image_",i,@".png"]];
    UISwipeGestureRecognizer *tempRecognizer = [[UISwipeGestureRecognizer alloc] init];
    [tempRecognizer performSelector:@selector(SwipeRight:) withObject:[NSNumber numberWithInt:i]];
    [tempRecognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
    [tempView addGestureRecognizer:tempRecognizer];
    [tempView addSubview:tempImageView];
    tempView.tag=i;
    [self.view addSubview:tempView];
}

我有一个方法:管理滑动的 SwipeRight....

-(void)SwipeRight:(NSNumber*)MyTag{

    int MyProgr = [MyTag intValue];

    }

传递标签的正确方法是什么? 使用我的代码时出现错误:

[UISwipeGestureRecognizer SwipeRight:]: unrecognized selector sent to instance...

【问题讨论】:

    标签: ios tags uigesturerecognizer


    【解决方案1】:

    在之前设置视图标签

    [tempView setTag:i];
     UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(callYourMethod:)];
                swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
                [tempView addGestureRecognizer:swipeRight];
    
    
    - (void)callYourMethod:(UISwipeGestureRecognizer *)recognizer
    {
        if (recognizer.direction == UISwipeGestureRecognizerDirectionRight)
        {
            int tagValue = recognizer.view.tag;
            NSLog(@"Down");
        }
    }
    

    【讨论】:

      【解决方案2】:

      请尝试使用这个

      -(void) SwipeRight:(UISwipeGestureRecognizer *)recognizer 
      {
           if (recognizer.direction == UISwipeGestureRecognizerDirectionRight)
           {
                 int tag = recognizer.view.tag;
           }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多