Как подсвечивать кнопки при нажатии, как калькулятор ios13 в swift? - PullRequest
0 голосов
/ 06 ноября 2019

Я создал кнопку в быстром проекте, теперь я хочу, чтобы моя кнопка горела, когда она нажималась, как в калькуляторе Apple в ios13, я использовал button.showsTouchWhenHighlighted = true, но это не то, что я хочу.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Вы должны переопределить свойство isSelected в своем пользовательском классе UIButton следующим образом:

override var isSelected: Bool {
    didSet {
        updateState(state: isSelected)
    }
}

func updateState(state: Bool) {

    if state == false {
                self.layer.borderWidth = 0.0
                self.layer.borderColor = UIColor.red.cgColor
        print("false")
    } else if state == true {
                self.layer.borderWidth = 3.0
                self.layer.borderColor = UIColor.blue.cgColor
        print("true")
    }
}
0 голосов
/ 06 ноября 2019

Вы можете установить corretsImageWhenHighlighted на true:

button.adjustsImageWhenHighlighted = true

или, если этого недостаточно, вы можете добавить другое изображение для состояния .highlighted через setBackgroundImage :

button.setBackgroundImage(lighBackgroundImage, for: .highlighted)

Вы можете сделать это и в конструкторе интерфейсов.

...