在 uiimageview 上无法识别点击手势
Posted
技术标签:
【中文标题】在 uiimageview 上无法识别点击手势【英文标题】:tap gesture not recognized on uiimageview 【发布时间】:2013-10-13 15:03:36 【问题描述】:我添加了两个uiimageview
s,一个接一个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 上无法识别点击手势的主要内容,如果未能解决你的问题,请参考以下文章