我有一个UIButton"显示触摸突出显示"在故事板中启用。它适用于"白色"点击时发光到按钮。
但是,我有一个浅灰色按钮,想要改变发光颜色,以便它更加明显。
我尝试将突出显示的控件状态的背景图像设置为黑色,但它似乎与发光不同。我可以改变按钮的背景颜色---一切正常。
什么控制发光颜色?或者如果我需要不同的颜色,我是否必须手动完成?
答案 0 :(得分:3)
"显示触摸突出显示"是一种纯粹的便利,所以如果你想要一个不同的效果你必须手动做。只需为突出显示的状态提供不同的图像,其中包括所需的"发光"图。
答案 1 :(得分:2)
使用setBackgroundImage
上的UIButton
,您可以创建以下扩展程序,以便为所需的任何州设置颜色:
extension UIButton {
func setBackgroundColor(color: UIColor, for state: UIControlState) {
let image = UIImage.image(with: color)
let insets = UIEdgeInsetsMake(0, 0, 0, 0)
let stretchable = image.resizableImage(withCapInsets: insets, resizingMode: .tile)
self.setBackgroundImage(stretchable, for: state)
}
}
您需要为.highlighted
状态设置背景颜色:
button.setBackgroundColor(color: UIColor.red, for: .highlighted)
我只是希望你不介意用代码弄脏你,我不确定如何从故事板上做同样的事情(我甚至不确定你能做到)。