2016-10-18 8 views
0

У меня есть простое требование, я хочу, чтобы эффект изменения цвета на UIButton, когда пользователь касался кнопки, я прошел через многие ссылки, но то, что они предлагают, несколько раз работает как Я касаюсь, я прикоснулся к нему, тогда он работает, для нормального касания он не работает.Изменение цвета кнопки при касании в Swift

Я прошел через эту ссылку. How to change the background color of a UIButton while it's highlighted?

+0

так какой у вас код сейчас? что происходит? или что происходит не так, вы получаете какие-либо ошибки – Scriptable

+0

можете показать свою функцию –

+0

трудно отладить, если мы не можем видеть, как выглядит ваш код. –

ответ

0

От того, что вы описали, должно быть легко. см. код ниже.

let button = UIButton(frame: CGRect(x: 0, y: 0, width: 300, height: 40)) 
button.setTitle("Click me", for: .normal) 
button.backgroundColor = UIColor.red 
button.tintColor = UIColor.white 
button.addTarget(self, action: Selector("handleTap"), for: .touchUpOutside) 

view.addSubview(button) 

func handleTap(sender: UIButton) { 

    if sender.backgroundColor == UIColor.red { 
     sender.backgroundColor = UIColor.blue 
    } else { 
     sender.backgroundColor = UIColor.red 
    } 
} 

Данный код зависит от того, как вы реализуете ваш интерфейс и код. если вы можете получить дополнительную информацию о своей реализации, я могу обновить эту информацию и сделать ее более конкретной для вашего дела.

+0

@ Сценарий .. это будет оставаться синим, когда будет нажата кнопка, но я хочу, чтобы он вернулся в свое последнее состояние красного цвета после того, как он стал синим. – Saty

+0

Я обновил ответ так, чтобы он менялся между красным и синим каждый раз, когда вы касались. Если вы не объясните, как вы хотите работать, я могу только так много сделать. Вы можете заставить его выбирать случайный цвет каждый раз, если хотите. просто нужно добавить логику. вы знаете, как обновить свойство backgroundColor, поэтому вам просто нужно закодировать свою логику приложения, чтобы изменить ее на нужный цвет в нужное время – Scriptable