Ios 如何从CALayer的中间切割形状
我不确定这是否可行,但我一直在尝试用CALayers创建一个暂停按钮。我已经创建了一个圆,可以将暂停矩形添加到中间精细区域。然而,暂停线是一个指定的颜色,我希望他们是透明的,通过背景视图 目前我有一个自定义视图,它有一个圆形层,然后是暂停层。有没有一种方法可以从圆形图层上剪下矩形,这样无论它放在哪里,都可以看到它Ios 如何从CALayer的中间切割形状,ios,objective-c,core-graphics,calayer,Ios,Objective C,Core Graphics,Calayer,我不确定这是否可行,但我一直在尝试用CALayers创建一个暂停按钮。我已经创建了一个圆,可以将暂停矩形添加到中间精细区域。然而,暂停线是一个指定的颜色,我希望他们是透明的,通过背景视图 目前我有一个自定义视图,它有一个圆形层,然后是暂停层。有没有一种方法可以从圆形图层上剪下矩形,这样无论它放在哪里,都可以看到它 提前感谢您可以用透明颜色填充暂停矩形 [layer setFillColor:[UIColor colorWithRed:1 green:0 blue:0 alpha:.7].CGCo
提前感谢您可以用透明颜色填充暂停矩形
[layer setFillColor:[UIColor colorWithRed:1 green:0 blue:0 alpha:.7].CGColor];
或
参见我使用的.7 alpha
例如,下面的代码创建一个透明矩形
CAShapeLayer *layer =[CAShapeLayer layer];
[layer setFrame:CGRectMake(0, 0, 100, 100)];
UIBezierPath *path =[UIBezierPath bezierPathWithRect:CGRectMake(20, 20, 20, 80)];
[layer setFillColor:[UIColor colorWithRed:1 green:0 blue:0 alpha:.7].CGColor];
[layer setPath:path.CGPath];
[self.view.layer addSublayer:layer];
你看过面具的属性了吗?我使用CAShapeLayer创建了一个小矩形,并将其设置为圆圈层的.mask属性,但随后除了线条之外,所有的东西都消失了,因为它明显地剪切了线条路径之外的任何东西。您是否尝试并查看了这些结果?这似乎是你想要的。不知道我怎么错过了那一个,只是现在看看,谢谢!
CAShapeLayer *layer =[CAShapeLayer layer];
[layer setFrame:CGRectMake(0, 0, 100, 100)];
UIBezierPath *path =[UIBezierPath bezierPathWithRect:CGRectMake(20, 20, 20, 80)];
[layer setFillColor:[UIColor colorWithRed:1 green:0 blue:0 alpha:.7].CGColor];
[layer setPath:path.CGPath];
[self.view.layer addSublayer:layer];