繁体   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