2015-12-30 3 views
0
 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.Как сделать границу CALayer с градиентом или несколькими цветами?

Как я могу изменить

rightBorder.borderColor = [UIColor redColor].CGColor; 

градиента цвета, так что половина моего цвета должна быть синим цветом, и наполовину белый.

Здесь я подаю заявку на красный цвет к границе моего WebView. Однако я хочу многоцветный (2 цвета) или градиент.

Спасибо.

ответ

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]; 
} 
+0

это возможно для пути Безье? –

+0

мы можем применить его с UIBezierPath на самом деле у меня нет слишком много идеи, но у меня есть одна демоверсия, в которой я использовал UIBezierPath и слишком долго для обмена в комментарии. Я не знаю, как делиться – jay

+0

Можете ли вы поделиться этим кодом? Dropbox/github/email –

Смежные вопросы