这很简单。
您将首先在 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 中,您将添加一个 If 语句,如下所示:
@IBAction func buttonTapped(sender: AnyObject) {
if button.backgroundColor == UIColor.grayColor() {
button.backgroundColor = UIColor.blueColor()
}
else if button.backgroundColor == UIColor.blueColor() {
button.backgroundColor = UIColor.grayColor()
}
}
这个 if 语句的作用是,如果按钮的背景颜色为灰色,则将其设置为蓝色,或者如果背景颜色为蓝色,则将其设置为灰色。您可以根据需要将UIColor.BlueColor() 或UIColor.GrayColor() 替换为更个性化的UIColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)。
编辑:如果您只想更改按钮的文本颜色,只需在所需位置添加此语句或其变体即可:
button.setTitleColor(UIColor.grayColor(), forState: UIControlState.Selected)