【问题标题】:How To Use TouchEvent's in Subview Of UIScrollView如何在 UIScrollView 的子视图中使用 TouchEvent
【发布时间】:2021-04-24 03:54:27
【问题描述】:

我试图在 UIScrollView 中捕捉触摸事件。示例:我在 UIScrollView 中有 UIImageView。我正在使用 UIScrollViewDelegate 来检测 UIScrollView 缩放操作。但是当我尝试将 UIImageView 触摸事件作为 touchesBegan、touchesMoved 和 touchesEnded 时,我无法获取它们。我怎样才能得到它们?

【问题讨论】:

    标签: swift uiscrollview touch-event


    【解决方案1】:
    1. 而不是UIImageView 使用UIControl,其中图像可以分配为

    controlView.layer.contents = image.cgImage

    1. UIImageView 放在UIControl 中,对于UIImageView,将isUnteractionEnabled 设置为false

    在这两种方式中,您都可以使用addTarget 来处理UIControl 点击。还有像beginTrackingcontinueTracking这样的触摸事件。查看更多https://developer.apple.com/documentation/uikit/uicontrol

    1. 使用 UITapGestureRecongizer:
    imageView.addGestureRecognizer(UITapGestureRecognizer(
               target: self, action: #selector(onImageViewTap(_:))))
    
    @objc func onImageViewTap(_ gr: UIGestureRecognizer) {
        .....
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-11
      • 2012-02-01
      • 2013-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多