Я хотел бы добавить круговую маску к UIImageVIew. Вот функция, которую я использую для добавления маски.
- (void) addMaskToBounds:(CGRect) maskBounds
{
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGPathRef maskPath = CGPathCreateWithEllipseInRect(maskBounds, NULL);
maskLayer.bounds = maskBounds;
[maskLayer setPath:maskPath];
[maskLayer setFillColor:[[UIColor blackColor] CGColor]];
maskLayer.position = CGPointMake(maskBounds.size.width/2, maskBounds.size.height/2);
[self.imageView.layer setMask:maskLayer];
}
Могу добавить маску, но проблема возникает, так как я меняю рамку изображения и центрирую вместе с ней. Изображение увеличено и уменьшено на основе действий пользователя. Поэтому мне пришлось бы добавить маску дважды, когда она была маленькой и увеличивалась. Итак, когда я оживляю изменение рамки, а анимация изображения искажается или смещается. Как я могу это преодолеть?
Я думаю, его лучше всего объяснить с помощью примерного проекта. Здесь я создал демо-проект https://github.com/akshaynhegde/MaskImage на GitHub, просто запустил его, чтобы увидеть мою проблему, и дайте мне знать, как решить проблему.