J'ai un calayer et une sous-couche dedans. Ce que je veux réaliser est un flou de la super couche (la zone sous la sous-couche), tout comme les feuilles standard le font. J'ai essayé de placer un .compositingFilter sur la sous-couche mais cela ne semble pas fonctionner.Superlayer de flou CALayer
Des idées pour résoudre ce problème?
code des sous-couches Init:
CIFilter *blur = [CIFilter filterWithName:@"CIGaussianBlur"];
[blur setDefaults];
self.layer.backgroundFilters = [NSArray arrayWithObject:blur];
J'ai eu le code ci-dessus dans les vues ** - (id) init **. Quand j'ai fait la même chose après l'avoir ajouté comme sous-vue/calque, il a appliqué l'effet comme il se doit, sinon, non. –
eaigner: Les vues ne s'initialisent généralement pas dans la méthode 'init'. L'initialiseur correct pour NSView est 'initWithFrame:'. La seule raison de le mettre dans init est si (1) les vues déterminent leur propre taille dans cette méthode, et appellent '[super initWithFrame:]' avec le cadre ainsi construit, et (2) vous créez les vues explicitement en utilisant 'alloc' et' init'. –
Oui, je le sais. Je voulais seulement clarifier où j'ai mis le code et utilisé la version courte. Mais bien sûr, initWithFrame serait le bon. –