首页 文章

点击手势在uiimageview上无法识别

提问于
浏览
28

我添加了两个 uiimageview ,一个在另一个 subview uiviewimageview1,imageview2 ) . 在第一个视图中,顶部 uiimageview 被隐藏( imageview2 ),而在第二个视图中,底部 imageview 被隐藏( imageview1 ) .

分配点按手势:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)];
UITapGestureRecognizer *singleTap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)];

将uiimageview的用户交互设置为YES .

[singleTap setNumberOfTapsRequired:1];
[singleTap1 setNumberOfTapsRequired:1];

//向uiimageview添加手势

分别添加轻击手势识别器和选择器 .

[imageview1 addGestureRecognizer:singleTap];
[imageview2 addGestureRecognizer:singleTap1];

但我的水龙头没有得到认可 .

任何人都可以告诉我错误在哪里吗?

2 回答

  • 2

    在添加手势识别器之前尝试设置 setUserInteractionEnabled:YES .

    [imageview1 setUserInteractionEnabled:YES]
    [imageview2 setUserInteractionEnabled:YES]
    
    [imageview1 addGestureRecognizer:singleTap];
    [imageview2 addGestureRecognizer:singleTap1];
    

    Update:

    在您发表评论后,我建议您在检测到点击事件之前将您的观点置于顶部 . 因为父imageView在上面并且捕获了这些水龙头 .

    [yourparentview bringSubviewToFront:imageview1];
    [yourparentview bringSubviewToFront:imageview2];
    
  • 107
    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)];
    singleTap.numberOfTapsRequired = 1;
    singleTap.numberOfTouchesRequired = 1;
    singleTap.delegate = self;
    [imageview1 addGestureRecogniser:singleTap];
    [singleTap1 release];
    
    imageview1.userInteractionEnabled = YES; //disabled by default
    

相关问题