Я пытаюсь замаскировать CALayer растровым изображением. И мне не удалось замаскировать CALayer. Мой код:
// 'PreloadViewController layerWithImageNamed' create a layer and set it's contents as specified UIImage. CALayer* title = [PreloadViewController layerWithImageNamed:@"pinkhug_txt.png"]; [[[self view] layer] addSublayer:title]; CALayer* title_mask = [PreloadViewController layerWithImageNamed:@"hug_mask.png"]; [title setMask:title_mask];
Ссылка Apple гласит "CALayer в iPhone не поддерживает свойство маски" . Но есть сообщения об этом на SO . Является ли это возможным? Или что не так с моим кодом?
Это была моя ошибка, и теперь она решена. Я использовал изображение без альфа-канала. В отличие от традиционных методов маскирования, CALayer использует альфа-канал изображения маски в качестве данных маски.