L'application d'un CIFilter à un CALayer

CI Filtres sont maintenant disponibles dans iOS 5, et je vais essayer d'appliquer un à un CALayer, la façon dont vous le ferais sur Mac. Voici mon code:

CALayer *myCircle = [CALayer layer];
myCircle.bounds = CGRectMake(0,0,30,30);
myCircle.position = CGPointMake(100,100);
myCircle.cornerRadius = 15;
myCircle.borderColor = [UIColor whiteColor].CGColor;
myCircle.borderWidth = 2;
myCircle.backgroundColor = [UIColor whiteColor].CGColor;

CIFilter *blurFilter = [CIFilter filterWithName:@"CIDiscBlur"];
[blurFilter setDefaults];
[blurFilter setValue:[NSNumber numberWithFloat:5.0f] forKey:@"inputRadius"];
[myCircle setFilters:[NSArray arrayWithObjects:blurFilter, nil]];

[self.view.layer addSublayer:myCircle];

Mon cercle blanc attire l'amende, mais le filtre n'est pas appliqué.

À partir de la CALayer de la documentation: "iOS Remarque: lors de la CALayer classe dans iOS expose la propriété filters, Core Image n'est pas disponible. Actuellement, les filtres disponibles pour cette propriété ne sont pas définis." - donc, je ne suis pas sûr si c'est vraiment de travail
Aussi, aucun des filtres de flou sur le Mac sont actuellement pris en charge dans l'Image principale de la mise en œuvre sur iOS: stackoverflow.com/questions/8528726/...

OriginalL'auteur Eric | 2012-03-14