Máscara de círculo para corte de imagem no ios
Estou tentando dar uma máscara circular à exibição da imagem e preciso cortar a parte da imagem na área circular, que está funcionando bem. Mas estou enfrentando algum problema com a máscara, que está anotada na imagem anexada.
A seguir, trechos de código que usei para mascarar.
Adicionando máscara à camada de visualização de imagem
CAShapeLayer *maskLayer = [CAShapeLayer layer];
self.imageView.layer.mask = maskLayer;
self.maskLayer = maskLayer;
crie uma camada de forma para o círculo que desenharemos no topo da imagem (o limite do círculo)
CAShapeLayer *circleLayer = [CAShapeLayer layer];
circleLayer.lineWidth = 3.0;
circleLayer.fillColor = [[UIColor clearColor] CGColor];
circleLayer.strokeColor = [[UIColor blackColor] CGColor];
[self.imageView.layer addSublayer:circleLayer];
self.circleLayer = circleLayer;
criar caminho do círculo
[self updateCirclePathAtLocation:CGPointMake(self.view.bounds.size.width / 2.0, self.view.bounds.size.height / 2.0) radius:self.view.bounds.size.width * 0.30];
- (void)updateCirclePathAtLocation:(CGPoint)location radius:(CGFloat)radius
{
self.circleCenter = location;
self.circleRadius = radius;
UIBezierPath *path = [UIBezierPath bezierPath];
[path addArcWithCenter:self.circleCenter
radius:self.circleRadius
startAngle:0.0
endAngle:M_PI * 2.0
clockwise:YES];
/*
[[UIColor colorWithWhite:0 alpha:0.1] setFill];
[path fill];
*/
self.maskLayer.path = [path CGPath];
self.circleLayer.path = [path CGPath];
}
Alguém pode dar uma sugestão para tornar a área branca ao redor da máscara circular ficar parcialmente visível ou aplicar CGColor transparente usando alfa?