我一直在为 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/