Blur CALayer Superlayer - PullRequest
       8

Blur CALayer Superlayer

2 голосов
/ 12 мая 2010

У меня есть CALayer и подслой в нем. То, чего я хочу достичь, - это размытие суперслоя (область под подслоем), как это делают стандартные листы. Я попытался установить .compositingFilter на подслой, но это не похоже на работу.

Есть идеи, как решить эту проблему?

Код из подслоев init:

CIFilter *blur = [CIFilter filterWithName:@"CIGaussianBlur"];
[blur setDefaults];     
self.layer.backgroundFilters = [NSArray arrayWithObject:blur];

1 Ответ

4 голосов
/ 12 мая 2010

Вышеуказанное должно работать нормально, в зависимости от контекста, в котором оно используется. Например, с простым супер-слоем, содержащим изображение, у меня работает следующее:

CALayer *blurLayer = [CALayer layer];
CIFilter *blur = [CIFilter filterWithName:@"CIGaussianBlur"];
[blur setDefaults];     
blurLayer.backgroundFilters = [NSArray arrayWithObject:blur];    
[superLayer addSublayer:blurLayer];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...