簡體   English   中英

UIButton圖片不可點擊

[英]UIButton Image is not clickable

我正在嘗試將圖像添加到MDCRaisedButton中,這是UIButton的擴展類,用於Google的 MaterialComponents 我可以將圖像添加到按鈕,但是圖像不可單擊。 我曾經嘗試都將UITapGestureRecognizeraddTarget ,但對他們倆的問題仍然存在。 事實是,圖像本身不可單擊,但是如果我單擊保留在圖像下方和上方的按鈕的較小部分,則會執行按鈕的單擊操作。 這有什么問題呢? 下面是我的按鈕代碼

        btnCalibrate = MDCRaisedButton()
        btnCalibrate?.setImage(UIImage(named: "chip"), for: .normal)
        btnCalibrate?.backgroundColor = UIColor(netHex: Constants.color)
        btnCalibrate?.layer.cornerRadius = 40.0
        btnCalibrate?.imageEdgeInsets=UIEdgeInsets(top: 5, left: 2, bottom: 5, right: 2)
        btnCalibrate?.imageView?.contentMode = .scaleAspectFit
        btnCalibrate?.isUserInteractionEnabled=true

        let tapGesture = UITapGestureRecognizer(target: self, action: #selector(recalibrateFromImageView(_:)))
        btnCalibrate?.addGestureRecognizer(tapGesture)

        btnCalibrate?.translatesAutoresizingMaskIntoConstraints=false
        //btnCalibrate?.addTarget(self, action: #selector(recalibrate(_:)), for: [.touchUpInside])

        self.addSubview(btnCalibrate!)

我也嘗試添加了手勢識別到imageView中的UIButton ,但同樣是行不通的。

該圖像當前正居中。 如果單擊按鈕的其他可見部分,則幾乎無法單擊。 我該如何處理?

嘗試

let plusImage = UIImage(named: "chip").withRenderingMode(.alwaysTemplate)
btnCalibrate.setImage(plusImage, for: .normal)

要么

let plusImage = UIImage(named: "chip").withRenderingMode(.alwaysTemplate)
btnCalibrate.setBackgroundImage(plusImage, for: .normal)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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