我正在尝试将一个基本应用程序制作成我的 iPhone。我是 Xcode 的新手,我在谷歌上浏览过,但找不到我要找的东西。我正在尝试为我的飞机制作一份 list 。
我基本上有一个带有多个按钮的 View Controller 。我想要的是按钮在按下后从灰色变为蓝色,并保持蓝色,除非再次按下。我根本不了解 Xcode 和 Swift 语言,所以如果有人可以帮忙解释,就好像你在向 child 解释一样。
到目前为止,我已经设法让页面进行所有设置和滚动工作,但我现在只需要更改按钮。
先谢谢你, 泰。
最佳答案
这很简单。
您首先要在 ViewDidLoad() 方法中实际设置按钮的背景颜色。在此之前,您应该已经为按钮设置了一个 IBOutlet。在我的示例中,我只是将 socket 命名为通用“按钮”。
您的 IBOutlet 将是:
@IBOutlet weak var button:UIButton!
别忘了将 socket 也连接到按钮上!
接下来,在 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)
关于ios - Swift:按下后更改按钮颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372684/