我有一个UIButton,它有一个箭头的白色图像。
我想要做的是更改按钮背景颜色,并在按下按钮时将图像保持为白色。
我试过这个:
@IBAction func backButtonDidTouch(sender: AnyObject) {
backButton.backgroundColor = UIColor.blueColor()
}
但是当我抬起手指时,这会让按钮呈现蓝色。当我触摸/按下按钮时,我希望背景颜色很快改变。并且还将图像保持白色。
由于
答案 0 :(得分:4)
您可以更改UIButton上的背景颜色
首先你应该创建一个util类。
class Color {
class func imageWithColor(color: UIColor, size: CGSize = CGSizeMake(60, 60)) -> UIImage {
var rect = CGRectMake(0, 0, size.width, size.height)
UIGraphicsBeginImageContext(rect.size)
var context = UIGraphicsGetCurrentContext()
CGContextSetFillColorWithColor(context, color.CGColor);
CGContextFillRect(context, rect);
var image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();
return image;
}
}
接下来,您可以为UIButton设置高亮颜色
UIButton类型必须是'自定义'
func viewDidLoad() {
backButton.setBackgroundImageForState(Color.imageWithColor(UIColor.blueColor()), forState: .Highlighted))
}
答案 1 :(得分:0)
使用setBackgroundImage(_:forState:)
更改选定状态的背景
答案 2 :(得分:0)
在界面构建器中创建操作方法时,您可以选择事件类型。 它位于您选择方法名称的同一对话框中。
您已选择默认的Touch Up Inside。
选择事件Touch Down。