如何使用渐变或多种颜色制作CALayer边框?

时间:2015-12-30 11:35:54

标签: ios uiwebview gradient

        CALayer *rightBorder = [CALayer layer];
        rightBorder.borderColor = [UIColor redColor].CGColor;
        rightBorder.borderWidth = 1;
        rightBorder.frame = CGRectMake(-1, -1, CGRectGetWidth(self.frame), CGRectGetHeight(self.frame)+2);

        [self.layer addSublayer:rightBorder];

我正在制作如上所述的WebView边框。这里self是从UIWebView继承而来的。

如何更改

rightBorder.borderColor = [UIColor redColor].CGColor;

为渐变色,因此我的一半颜色应为蓝色,半白色。

在这里,我将RED颜色应用于WebView的边框。但是我想要一种多色(2色)或渐变色。

感谢。

1 个答案:

答案 0 :(得分:1)

要在一个图层中使用渐变效果显示不同的颜色我正在共享我的代码的一种方法,你必须使用CAGradientLayer,

-(void)addGradiantColor:(UIView *)view;
{
    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.frame = view.frame;
     //  gradientLayer.startPoint = CGPointMake(0.0,0.0);
     //  gradientLayer.endPoint = CGPointMake(1.0,1.0);
    NSMutableArray *colors = [NSMutableArray array];
    [colors addObject:(id)[[UIColor colorWithRed:134.0/255.0 green: 234.0/255.0   blue:63.0/255.0 alpha:1.0] CGColor]];
    [colors addObject:(id)[[UIColor colorWithRed:215.0/255.0 green: 82.0/255.0 blue:76.0/255.0 alpha:1.0] CGColor]];
    gradientLayer.colors = colors;
    [view.layer addSublayer:gradientLayer];   
}