我正在尝试为我创建的CALayer添加渐变。我可以使用以下内容设置CALayer的背景颜色:
self.colorLayer = [CALayer layer];
[self.colorLayer setBackgroundColor:color.CGColor];
[self.colorView setWantsLayer:YES];
[self.colorView setLayer:self.colorLayer];
我环顾四周却没有成功(令人惊讶的是,我认为这会得到多次回答)。
我做了一个渐变:
NSGradient *gradient =
[[NSGradient alloc] initWithStartingColor:[NSColor orangeColor]
endingColor:[NSColor lightGrayColor]];
但无法将其添加到我的CALayer或添加角度。
答案 0 :(得分:2)
您不需要向CALayer添加渐变,因为您可以使用CAGradientLayer。
答案 1 :(得分:1)
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.colors = [NSArray arrayWithObjects:(id)[[NSColor whiteColor] CGColor], (id)[[NSColor greenColor] CGColor], nil];
gradient.frame = self.colorView.bounds;
[self.colorView setLayer:gradient];
[self.colorView setWantsLayer:YES];
答案 2 :(得分:0)
Swift 4版this answer
let gradient = CAGradientLayer()
gradient.colors = [NSColor.hlpMarineBlue, NSColor.hlpDarkishBlue, NSColor.hlpOceanBlue]
gradient.frame = self.backgroundView.bounds;
self.colorView.layer = gradient
self.colorView.wantsLayer = true