系统给出的UIButton设置背景是通过设置setImage和setBackgroundImage的方法,需要提供不同的图片素材。在开发中往往需要设置不同的纯色背景的button,而且往往没有图片。于是只好选择其他的方法了.以下的代码可以解决这个问题。
extension UIButton {
func setBackgroundColor(color: UIColor, forState: UIControl.State) {
self.clipsToBounds = true // add this to maintain corner radius
UIGraphicsBeginImageContext(CGSize(width: 1, height: 1))
if let context = UIGraphicsGetCurrentContext() {
context.setFillColor(color.cgColor)
context.fill(CGRect(x: 0, y: 0, width: 1, height: 1))
let colorImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
self.setBackgroundImage(colorImage, for: forState)
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)