【问题标题】:UITapGestureRecognizer selector not called beyond screen heightUITapGestureRecognizer 选择器未调用超出屏幕高度
【发布时间】:2014-07-28 00:55:59
【问题描述】:

我看到有人问了几个关于 UITapGestureRecognizer 选择器没有被调用的问题,但我似乎遇到了一些与其他人问的有点不同的问题。我在 UIScrollView 中有一个 UIImageView,我需要检测对图像的点击。

首先加载图像并将 UIImageView 设置为 568 像素高以显示图像 ScaledAspectFill 和点击工作正常。当我检测到双击时,我将缩放设置为 1.0,并将 UIImageView 的大小调整为 960 像素高,这恰好是图像的未缩放大小。

现在乐趣开始了。只要 locationInView.y 在位置 568 内,水龙头就可以正常工作。但是,如果我在图像中点击下方,则不会调用我的选择器。任何解决此问题的帮助将不胜感激。

谢谢,

红色


我已在情节提要中设置了 userInteractionEnabled... 作为在 locationInView.y 小于 568 时通过点击调用选择器以及识别双击时的证明。

这里是设置点击识别器的代码 sn-p## Heading ##:

_tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[_tapGesture setDelegate:self];
[_tapGesture setNumberOfTapsRequired:1];
[_theImageView addGestureRecognizer:_tapGesture];

解决方案:我发现如果您在故事板中使视图非常高(比我可能加载的任何图像都高),即使我以编程方式缩小图像视图,点击也会被识别。但是反过来遇到了问题。如果我将图像视图缩小并以编程方式将其放大,则无法识别点击。

【问题讨论】:

  • 您在图像上添加手势识别器并希望从图像外部获取手势?这没有意义。
  • 如果不清楚,我很抱歉。 UIImageView 在 UIScrollView 内。所以应该允许用户向下滚动图像并点击下部。用户仍会点击图像。

标签: ios objective-c uiimageview uitapgesturerecognizer


【解决方案1】:

我发现如果你让故事板内的视图非常高(比我可能加载的任何图像都高),即使我以编程方式缩小图像视图,点击也会被识别。但是反过来遇到了问题。如果我将图像视图缩小并以编程方式将其放大,则无法识别点击。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2017-03-10
    • 1970-01-01
    相关资源
    最近更新 更多