[英]How to add tapGesture for UIImageView in UIView
我被困在為UIImage中的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請求橫幅時,我想放置默認橫幅。 因此,我希望用戶能夠單擊我的默認橫幅並直接轉到該網站。 那么,當我可以從Google獲得廣告時,是否應該在adView中添加tapGesture並隱藏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
}
我被困在為UIImage中的UIImageView添加輕擊手勢識別器。 (...),但仍然無法正常工作。
這是什么意思:不起作用? 我可以假定未檢測到水龍頭。
我添加了adView.addGestureRecognizer(tapGesture),但錯誤是“無法將類型為UIView的值轉換為UIImageView”
錯誤何時發生? 我認為是在點擊adView時出現的,因為您的sender.view!
不是UIImageView(以防手勢識別器鏈接到UIView)。
當我無法從Google admob請求橫幅廣告時,我想放置默認橫幅廣告。 (...)那么,當我可以從Google獲得廣告時,是否應該在adView中添加tapGesture並隱藏imageView? 如果要在UIImageView中添加手勢怎么辦?
您是否曾經考慮過在 UIView 上方添加UIImageView並將其alpha更改為0或在加載Banner時隱藏-這可以防止點擊imageView?
實際上,我正在做admob(...),我添加了一個名為adView(...)的自定義UIView,它不允許我觸摸defaultBannerView
如您所說,您正在將imageView添加到自定義視圖中,但您不知道它的真正工作原理。 考慮一下您是否真的需要干預其邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.