Кажется, у меня возникают трудности с добавлением маски через CALayers. Я просто пытаюсь замаскировать UIImageView. Здесь мой код:
CALayer *maskLayer = [CALayer layer];
UIImage *mask = [UIImage imageNamed:@"mask.png"];
maskLayer.contents = mask;
UIImageView *viewToMask = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
viewToMask.image = [UIImage imageNamed:@"picture.png"];
viewToMask.layer.mask = maskLayer;
[self.view addSubview:viewToMask];
Mask.png черный с прозрачным кругом, пробитым через него (это правильный способ маскировать?). Я не уверен, где это происходит, возможно, в maskLayer.contents
, так как он должен быть CGImageRef
, но я получаю ошибки, когда устанавливаю его как mask.CGImage
или через локальную переменную CGImageRef = mask.CGImage
. Во всяком случае, способ, которым его набор теперь не дает ошибок, поэтому я надеюсь, что это будет хорошо.
Кто-нибудь знает, что происходит, или как правильно установить маски с помощью CALayers? Благодаря