我看到有几个问题被问到UITapGestureRecognizer选择器没有被调用,但我似乎遇到了一些与其他人提出的问题有点不同的问题。我在UIScrollView中有一个UIImageView,我需要检测图像上的点击。
首先加载图像,并将UIImageView设置为568像素高,以显示图像ScaledAspectFill和点击工作正常。当我检测到双击时,我将缩放设置为1.0,并将UIImageView的大小调整为960像素高,这恰好是图像的非缩放尺寸。
现在开始变得有趣了。只要locationInView.y在位置568内,点击工作就可以正常工作。但是,如果我在图像中点击下方,我的选择器就不会被调用。任何帮助解决这个问题将不胜感激。
谢谢,
红色
我在故事板中设置了userInteractionEnabled ...作为当locationInView.y小于568时调用选择器的水龙头以及被识别的双击的证据。
以下是设置点击识别器的代码段##标题##:
_tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[_tapGesture setDelegate:self];
[_tapGesture setNumberOfTapsRequired:1];
[_theImageView addGestureRecognizer:_tapGesture];
解决方案:我发现如果你让故事板内的视图非常高(比我可能加载的任何图像都高),即使我以编程方式缩小图像视图,也会识别出水龙头。但反过来遇到了这个问题。如果我将图像视图缩小并以编程方式增长,则无法识别该点击。
答案 0 :(得分:1)
我发现如果你让故事板内的视图非常高(比我可能加载的任何图像都高),即使我以编程方式缩小图像视图,也会识别出水龙头。但反过来遇到了这个问题。如果我将图像视图缩小并以编程方式增长,则无法识别该点击。