簡體   English   中英

如何在UIView中為UIImageView添加tapGesture

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM