在 uiimageview 上无法识别点击手势

Posted

技术标签:

【中文标题】在 uiimageview 上无法识别点击手势【英文标题】:tap gesture not recognized on uiimageview 【发布时间】:2013-10-13 15:03:36 【问题描述】:

我添加了两个uiimageviews,一个接一个subview uiview (imageview1,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];

但我的水龙头无法识别。

谁能告诉我错在哪里?

【问题讨论】:

如果您解决了问题,请告诉我。 根据我的代码,它在横向工作正常,但在纵向工作不正常 【参考方案1】:

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

[imageview1 setUserInteractionEnabled:YES]
[imageview2 setUserInteractionEnabled:YES]

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

更新:

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

[yourparentview bringSubviewToFront:imageview1];
[yourparentview bringSubviewToFront:imageview2];

【讨论】:

我已经添加了 10 个图像视图,除了 uiimageview 一个图像视图被放置在另一个图像视图上之外,所有的图像都可以正常工作 不,它仍然不工作..在纵向但在横向它工作正常 不错!只需在 Storyboard 中单击图像视图,一切正常。谢谢。 太棒了!!你太棒了,我怎么会忘记 setUserInteractionEnabled 您也可以在图像属性中使用界面生成器进行设置【参考方案2】:
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

【讨论】:

当两个图像视图放置在不同位置时,点击手势工作正常。问题是当两个图像视图放置在同一位置时。第一次隐藏一个,第二次隐藏另一个 所以你想在用户点击时在同一位置切换 imageViews 的可见性?

以上是关于在 uiimageview 上无法识别点击手势的主要内容,如果未能解决你的问题,请参考以下文章

如何在点击手势上为 UIImageView 设置动画?

ui scrollview 中没有手势识别器 uiimageview

在 Swift 中无法识别点击手势(手势开始)

重叠视图和手势识别器 iPhone

Swift:点击手势无法识别

ios uiimageview点击手势在动画期间不起作用