UIButton Image не активируется
Я пытаюсь добавить изображение в мой MDCRaisedButton, который является расширенным классом из UIButton для MaterialComponents
от Google. Я могу добавить изображение к кнопке, но изображение не кликабельно. Я пробовал оба добавления UITapGestureRecognizer
а также addTarget
но проблема сохраняется для них обоих. Фактом является то, что само изображение не реагирует на нажатия, но если я щелкну меньшую часть кнопки, оставшуюся ниже и выше изображения, будет выполнено действие нажатия кнопки. Что может быть не так с этим? Ниже мой код для кнопки
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
но это тоже не работает.
Изображение в данный момент идет по центру. Если я нажимаю на другие видимые части кнопки, на которую трудно нажать. Как я могу справиться с этим?
1 ответ
Попробуй с
let plusImage = UIImage(named: "chip").withRenderingMode(.alwaysTemplate)
btnCalibrate.setImage(plusImage, for: .normal)
или же
let plusImage = UIImage(named: "chip").withRenderingMode(.alwaysTemplate)
btnCalibrate.setBackgroundImage(plusImage, for: .normal)