Ios 如何更改UIButton";“发光”;“使用时使用的颜色”;在突出显示时显示触摸屏“;是否已启用?
我有一个UI按钮,在情节提要中启用了“在突出显示时显示触摸”。单击按钮时,它会向按钮应用“白色”光晕 但是,我有一个浅灰色按钮,我想改变辉光的颜色,使它更可见 我已经尝试将高亮显示控件状态的背景图像设置为黑色,但它似乎没有对光晕产生任何影响。我可以改变按钮的背景色,一切正常Ios 如何更改UIButton";“发光”;“使用时使用的颜色”;在突出显示时显示触摸屏“;是否已启用?,ios,xamarin,uibutton,touch,highlight,Ios,Xamarin,Uibutton,Touch,Highlight,我有一个UI按钮,在情节提要中启用了“在突出显示时显示触摸”。单击按钮时,它会向按钮应用“白色”光晕 但是,我有一个浅灰色按钮,我想改变辉光的颜色,使它更可见 我已经尝试将高亮显示控件状态的背景图像设置为黑色,但它似乎没有对光晕产生任何影响。我可以改变按钮的背景色,一切正常 如果有的话,是什么控制辉光颜色?或者如果我需要一种不同的颜色,我必须手动完成吗 “在突出显示时显示触摸”纯粹是一种方便,因此如果您想要不同的效果,您必须手动执行操作。只需为高亮显示的状态提供一个不同的图像,其中包括所需的“发
如果有的话,是什么控制辉光颜色?或者如果我需要一种不同的颜色,我必须手动完成吗 “在突出显示时显示触摸”纯粹是一种方便,因此如果您想要不同的效果,您必须手动执行操作。只需为高亮显示的状态提供一个不同的图像,其中包括所需的“发光”图形。使用
ui按钮上的setBackgroundImage
,您可以创建以下扩展,允许您为任何想要的状态设置颜色:
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)
}
}
只需为突出显示的
状态设置背景色即可:
button.setBackgroundColor(color: UIColor.red, for: .highlighted)
我只是希望你不介意用代码弄脏你的手,我真的不知道如何从故事板上做同样的事情(我甚至不确定你能做到)