UIButton Image не активируется - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь добавить изображение в мой 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 Ответ

0 голосов
/ 10 ноября 2018

попробуй с

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

или

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