Ios 将CAGradientLayer应用于layer.borderColor
我试图用渐变实现带下划线的Ios 将CAGradientLayer应用于layer.borderColor,ios,swift,Ios,Swift,我试图用渐变实现带下划线的UITextField。因此,我创建了一个带有函数下划线()的扩展 为了获得渐变,我创建了一个CAGradientLayer,并进行了以下定制: func underlined(){ let color = UIColor(red: 11/255, green: 95/255, blue: 244/255, alpha: 1).cgColor let sndColor = UIColor(red: 106/255, green: 178/
UITextField
。因此,我创建了一个带有函数下划线()
的扩展
为了获得渐变,我创建了一个CAGradientLayer
,并进行了以下定制:
func underlined(){
let color = UIColor(red: 11/255, green: 95/255, blue: 244/255, alpha: 1).cgColor
let sndColor = UIColor(red: 106/255, green: 178/255, blue: 255/255, alpha: 1).cgColor
let gradient: CAGradientLayer = CAGradientLayer()
gradient.colors = [color, sndColor]
gradient.locations = [0.0, 1.0]
gradient.startPoint = CGPoint(x: 0, y: 0)
gradient.endPoint = CGPoint(x: 1, y: 0)
let width = CGFloat(2.0)
gradient.frame = CGRect(x: 0, y: self.frame.size.height - width, width: self.frame.size.width, height: self.frame.size.height)
gradient.borderWidth = width
self.layer.insertSublayer(gradient, at: 0)
self.layer.masksToBounds = true
}
正在显示一条下划线,但它是纯黑色的-我已尝试更改颜色,但它仍然是黑色(过时问题-请参见编辑)
有人看到这个问题吗
编辑:添加
gradient.borderColor=UIColor.blue.cgColor
让我更改线条的颜色-但如何在边框颜色上应用渐变?从代码中删除以下线条:
gradient.borderWidth = width
屏幕截图:
您的代码不起作用,因为边框宽度
覆盖了整个渐变帧。请尝试设置边框颜色
,然后您将看到差异
gradient.borderColor = UIColor.red.cgColor
如果您仍然面临任何问题,请告诉我。从代码中删除以下行:
gradient.borderWidth = width
屏幕截图:
您的代码不起作用,因为边框宽度
覆盖了整个渐变帧。请尝试设置边框颜色
,然后您将看到差异
gradient.borderColor = UIColor.red.cgColor
如果您仍然面临任何问题,请告诉我。非常感谢!我快要绝望了。非常感谢你!我快要绝望了。