给UIButton设置不同状态下的背景色

给UIButton设置不同状态下的背景色,第1张

系统给出的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)
          }
    }  
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/993316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存