CALAYER应用背景颜色和图案图像

时间:2014-12-28 14:20:42

标签: ios objective-c swift core-animation calayer

我正在玩核心动画的东西。 我需要将模式图像应用于CALAyer。 那部分与这样的东西完美配合:

color = UIColor(patternImage: UIImage(named: "myPatternImage")! 
shapeLayer.fillColor = color.CGColor;

但现在我需要在模式后面应用背景颜色。我的Patter图像是一个png(带有alpha分量)。 所以我想在形状上应用一个简单的颜色,然后应用图案Image。 有没有办法在飞行中做到这一点?

1 个答案:

答案 0 :(得分:3)

只需添加另一个具有背景颜色的子图层并将其添加到图案背景图层之前:

UIColor *backgroundColor = [UIColor redColor];
CALayer *solidBackgroundColorLayer = [[CALayer alloc] init];
solidBackgroundColorLayer.backgroundColor = backgroundColor.CGColor;
[[self layer] addSublayer:solidBackgroundColorLayer];
UIColor *color = [UIColor colorWithPatternImage:[UIImage imageNamed:@"MyPattern.png"]];
backgroundLayer = [[CALayer alloc] init];
[backgroundLayer setBackgroundColor:[color CGColor]];
[[self layer] addSublayer:backgroundLayer];