gpt4 book ai didi

ios - 如何将手势识别器添加到 UIImageview?

转载 作者:可可西里 更新时间:2023-11-01 04:19:10 24 4
gpt4 key购买 nike

在项目中,有一个UIView myView和一个UIImageView myImage在myView的后面, View 层级:

UI窗口
|-- UIImageView (我的图片)
|-- UIView (myView) [全屏]

然后在 ViewController 的 myImage 中添加了一个手势识别器

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
tapGesture.numberOfTapsRequired = 1;
[myImage addGestureRecognizer:tapGesture];

但手势不影响 myImage,myImage 有 setUserInteractionEnabled:YES。只有当 myImage 放在 myView 前面时才会影响,请问如何解决?

最佳答案

您的 UIView 显然会在触摸到达 UIImageView 之前拦截它们。

您可以将 UIImageView 放在 UIView 前面,或者禁用 UIView 上的用户交互,这样它就不会拦截触摸.

如果您需要更细粒度地捕捉触摸事件,您可以:

  • 将你的 UIView 放在 UIImageView 之上,如果它出于设计目的必须这样做(例如,如果它掩盖了 UIImageView 一点)但使其不捕获事件 (userInteractionEnabled = NO),并在 UIImageView 下使用不同的 UIView 以实际捕获 之外的事件>UIImageView
  • 将您的 UIView 置于 UIImageView 之上并使其捕获事件 (userInteractionEnabled = YES),但过滤通过的事件它,通过子类化您的 UIView 并覆盖 pointInside:withEvent:hitTest:withEvent: 方法。

要了解更多信息您真的应该阅读the dedicated Apple Programming Guide related to Event Handling .

关于ios - 如何将手势识别器添加到 UIImageview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12338964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com