UIButton图像不可单击



我正在尝试将Image添加到我的MDRaisedButton中,这是来自GoogleMaterialComponents的UIButton的扩展类。我可以将图像添加到按钮中,但该图像不可点击。我已经尝试添加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!)

我还尝试将手势识别器添加到UIButtonimageView中,但这也不起作用。

图像当前处于居中位置。如果我点击按钮的其他可见部分,它很难点击。我该如何处理?

尝试

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

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

最新更新