小智 7
这很简单.
首先,您将首先在ViewDidLoad()方法中设置按钮的背景颜色.在此之前,您应该已经为按钮设置了IBOutlet.在我的例子中,我只是将插座命名为通用的"按钮".
您的IBOutlet将是:
@IBOutlet weak var button:UIButton!
Run Code Online (Sandbox Code Playgroud)
不要忘记将插座连接到按钮上!
接下来,在ViewDidLoad中将按钮的背景图像设置为灰色,如下所示:
override func viewDidLoad() {
super.viewDidLoad()
button.backgroundColor = UIColor.grayColor()
}
Run Code Online (Sandbox Code Playgroud)
这应该为您的按钮提供一般的灰色背景.如果您想要更多地控制实际颜色,可以替换button.backgroundColor = UIColor.grayColor()为button.backgroundColor = UIColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat),用您选择的值替换"CGFloat".
接下来,更改按钮颜色的实际代码:
进行IBAction并将其连接到按钮.我叫:
@IBAction func buttonTapped(sender: AnyObject) {}
Run Code Online (Sandbox Code Playgroud)
您的条件是,如果按钮是灰色的,它应该在蓝色时变为蓝色,如果它是蓝色,那么它应该变为灰色.
因此,在我们刚刚定义的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()
}
}
Run Code Online (Sandbox Code Playgroud)
这个if语句的作用是,如果按钮的背景颜色为灰色,则将其设置为蓝色,或者如果背景颜色为蓝色,则将其设置为灰色.您可以根据需要更换UIColor.BlueColor()或UIColor.GrayColor()更加个性化UIColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat).
编辑:如果您只想更改按钮的文本颜色,只需在所需位置添加此语句或其变体:
button.setTitleColor(UIColor.grayColor(), forState: UIControlState.Selected)
Run Code Online (Sandbox Code Playgroud)
使用 UIButton 类的这个方法
func setTitleColor(_ color: UIColor?,
forState state: UIControlState)
Run Code Online (Sandbox Code Playgroud)
您正在寻找的状态是 .Selected
当然,您必须自己处理选定状态,因为切换按钮不是本机行为。
| 归档时间: |
|
| 查看次数: |
26869 次 |
| 最近记录: |