Это довольно просто.
Сначала вы начнете настраивать фоновый цвет кнопки в методе ViewDidLoad(). До этого вам уже нужно было установить IBOutlet для кнопки. В моем примере я просто собираюсь назвать розетку общей «кнопкой».
Ваш IBOutlet будет:
@IBOutlet weak var button:UIButton!
Не забудьте подключить розетку к кнопке, как хорошо!
Далее установите фоновое изображение кнопки на серый в ViewDidLoad, например, так:
override func viewDidLoad() {
super.viewDidLoad()
button.backgroundColor = UIColor.grayColor()
}
Это должно дать вашей кнопки общий серый фон. Если вы хотите больше контролировать фактический цвет, вы можете заменить button.backgroundColor = UIColor.grayColor()
на button.backgroundColor = UIColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
, заменив «CGFloat» на значения, которые вы выберете.
Далее, фактический код, чтобы изменить цвет кнопки:
сделать IBAction и провод его до кнопки. Шахта называется:
@IBAction func buttonTapped(sender: AnyObject) {}
Ваше условие, что если кнопка имеет серый цвет, он должен стать синим на кране, и если он синий, то он должен стать серым цветом на кране.
Таким образом, в IBAction, что мы просто определены, вы добавите заявление, если, например, так:
@IBAction func buttonTapped(sender: AnyObject) {
if button.backgroundColor == UIColor.grayColor() {
button.backgroundColor = UIColor.blueColor()
}
else if button.backgroundColor == UIColor.blueColor() {
button.backgroundColor = UIColor.grayColor()
}
}
Что это, если утверждение не является то, что если цвет фона для кнопки серого цвета, он устанавливает его на синий, или если цвет фона синий, он устанавливает его в серый цвет. Вы можете заменить UIColor.BlueColor()
или UIColor.GrayColor()
, с более персонализированным UIColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
, если хотите.
Edit: Если вы просто хотите, чтобы изменить цвет текста кнопки, просто добавьте это заявление или его изменения в нужном месте:
button.setTitleColor(UIColor.grayColor(), forState: UIControlState.Selected)