ios - 如何在UIView中为UIImageView添加tapGesture

标签 ios swift gesture

我一直在为 UIView 中的 UIImageView 添加点击手势识别器。我确实为 UIImageView 和 UIView 设置了 isUserInteractionEnabled = true。但它仍然无法正常工作。

@IBOutlet weak var adView: UIView!<br>
@IBOutlet weak var defaultBannerView: UIImageView!
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(FavouritesVC.tappedImageBanner(_:)))

defaultBannerView.addGestureRecognizer(tapGesture) defaultBannerView.isUserInteractionEnabled = true adView.isUserInteractionEnabled = true

 func tappedImageBanner(_ sender: UIGestureRecognizer){
    print("Tapped")
    let tappedImageView = sender.view!
    let imageView = tappedImageView as! UIImageView
    print(imageView) }

编辑:

我添加了 adView.addGestureRecognizer(tapGesture) 但错误是“无法将‘UIView’类型的值转换为‘UIImageView’”

实际上我正在做 admob,当我无法从 google admob 请求横幅时,我想放置我的默认横幅。所以我希望用户能够点击我的默认横幅并直接访问该网站。那么我应该只在 adView 中添加 tapGesture 并在我可以从 google 获取广告时隐藏 imageView 吗?

如果我想在 UIImageView 中添加手势怎么办?我应该怎么做?

最佳答案

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped(tapGestureRecognizer:)))
imageView.isUserInteractionEnabled = true
imageView.addGestureRecognizer(tapGestureRecognizer)

func imageTapped(tapGestureRecognizer: UITapGestureRecognizer){

    let tappedImage = tapGestureRecognizer.view as! UIImageView

    // Your action 
}

关于ios - 如何在UIView中为UIImageView添加tapGesture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46421394/

相关文章:

android - 手势检测器不工作

macos - 如何在 OS X 中实现手势识别器?

ios - 在 Swift 3 中使用 DispatchGroup() 来执行任务?

ios - 从 JSON 重新加载数据 tableView

objective-c - 在 iOS 中编写通用应用程序

IOS:一种在 ImageView 中设置图像的快速方法

ios - 如何动态调整另一个 TableView 的表头内的 TableView 的大小?

Javascript,CSS : change transform origin to centerpoint of gesturechange

iOS7 SDK force Landscape for viewController

ios - 夏令时 UIDatePicker 问题