У меня, похоже, возникают проблемы с добавлением маски через 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? Спасибо