我想做一个像下图这样的渐变边框:
但我不知 Prop 体怎么做,即我应该使用什么渐变颜色来做到这一点?如何设置我的 View 以显示像图像一样的边框?
我正在使用以下代码来获取边框:
self.view.layer.borderColor = [UIColor orangeColor].CGColor;
self.view.layer.borderWidth = 2.0f;
最佳答案
这就是我所做的并且效果很好
extension CALayer {
func addGradienBorder(colors:[UIColor],width:CGFloat = 1) {
let gradientLayer = CAGradientLayer()
gradientLayer.frame = CGRect(origin: CGPointZero, size: self.bounds.size)
gradientLayer.startPoint = CGPointMake(0.0, 0.5)
gradientLayer.endPoint = CGPointMake(1.0, 0.5)
gradientLayer.colors = colors.map({$0.CGColor})
let shapeLayer = CAShapeLayer()
shapeLayer.lineWidth = width
shapeLayer.path = UIBezierPath(rect: self.bounds).CGPath
shapeLayer.fillColor = nil
shapeLayer.strokeColor = UIColor.blackColor().CGColor
gradientLayer.mask = shapeLayer
self.addSublayer(gradientLayer)
}
}
关于ios - 如何制作UIView的渐变边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15193993/