[iOS][swift]UILabel字體顏色漸層

小黑
發佈於APP
2023/11/14閱讀時間約 2 分鐘


extension UILabel{
func GradientLabel(_ colors: [Any]? , isVertical : Bool, locations: [NSNumber]? = [0.0, 1.0]) {
for sub:UIView in self.subviews {
if sub.tag == 2 {
sub.removeFromSuperview()
}
}

let containerView = UIView.init(frame: self.bounds)
containerView.tag = 2
self.addSubview(containerView)

let label = UILabel.init(frame: self.bounds)
label.text = self.text
label.font = self.font
label.textAlignment = self.textAlignment
containerView.addSubview(label)

let gradientLayer = CAGradientLayer()
gradientLayer.colors = colors
gradientLayer.startPoint = CGPoint(x: 0, y: 0)
gradientLayer.endPoint = isVertical ? CGPoint(x: 0, y: 1) : CGPoint(x: 1, y: 0)
gradientLayer.locations = locations//[0.0, 1.0]
gradientLayer.frame = label.frame
containerView.layer.insertSublayer(gradientLayer, at: 0)
gradientLayer.mask = label.layer

}
}



7會員
78內容數
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
留言0
查看全部
發表第一個留言支持創作者!
從 Google News 追蹤更多 vocus 的最新精選內容