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)
Другие вопросы по тегам