繁体   English   中英

手势识别器未触发iOS

[英]Gesture Recognizer not triggered iOS

我在滚动视图上有图像视图。 我在图像视图上添加了多个子视图。

- > UIScrollView中

- >的UIImageView

---> UIViews

我想将手势识别器添加到子视图中。 但这行不通。 我的错误在哪里? 函数handleTap()未触发。

 func addSubViewOnImageView(mPoint:CGPoint, mSize: CGSize){
    let rect = CGRect(origin: mPoint, size: mSize)
    let sView = UIView(frame: rect)
    sView.isUserInteractionEnabled = true
    let tap = UITapGestureRecognizer(target: self,  action: #selector(self.handleTap(_:)))
    tap.delegate = self
    sView.addGestureRecognizer(tap)
    imageView.addSubview(sView)
  }

 @objc func handleTap(_ sender: UITapGestureRecognizer) {
        print("tapped any sub view")
  }

此属性是从UIView父类继承的。 此类将此属性的默认值更改为NO。

为您的imageview启用用户交互,默认情况下为false,有关更多信息,请从苹果文档中获取信息

imageView.isUserInteractionEnabled = true

只是检查

yourImageView.isUserInteractionEnabled = true 

有没有?

如果您不想执行yourImageView.isUserInteractionEnabled = true

只需使您的UIView class a subclass of UIControl from storyboard请参见屏幕截图。

它将充当UIButton而无需编写用于添加点击手势的代码, just add an action and like通常我们对UIImageView所做的just add an action and like

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM