【发布时间】:2017-09-26 08:26:59
【问题描述】:
我一直在为 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 并隐藏 imageView 吗?
如果我想在 UIImageView 中添加手势怎么办?我该怎么做?
【问题讨论】:
-
在 UIImageView 上添加一个 UIButton 并对其进行操作。
-
你必须为 uiview 和 uiimageview 创建两个点击手势,然后使用 yourview.addGestureRecognizer(tapGesture) yourImageview.addGestureRecognizer(tapGesture)
-
感谢您的快速响应,我确实参考了链接,但在我的情况下它不起作用。我添加了一个名为 adView 的自定义 UIView,并在 customView 内部添加了 UIImageView。我尝试为 adView 和 defaultBannerView 设置 isUserInteractionEnabled。这是工作。但我想要的只是 defaultBannerView 中的 tapGesture。如果我没有为 adView 添加GestureRecognizer,它将不允许我触摸 defaultBannerView.... 那么我应该只在视图中添加点击手势吗?