を使用してレイヤーにフィルターを追加したいCABasicAnimation
。このフィルターのいくつかのプロパティをアニメーション化したいと思います。プロパティがアニメーション化可能であることをドキュメントから読みましfilters
たが、同じドキュメントでは、それを行う方法を見つけるのは本当に難しいようです!
では、animationWithKeyPath を使用して CABasicAnimation から単一のフィルター プロパティを参照するにはどうすればよいでしょうか。
[CABasicAnimation animationWithKeyPath:@"filters._FILTER_._PROPERTY_"];
これは、私がどのように機能させようとしているのかを示すための完全な例です。
//Define the filter
CIFilter *filterOne = [CIFilter filterWithName:@"CISepiaTone"];
[filterOne setDefaults];
//Attach it to the Layer
self.layer.filters = [NSArray arrayWithObject:filterOne];
//HERE THE PROBLEM ---------------------------------------
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"filters.???????.inputIntensity"];
//EOF HERE THE PROBLEM -----------------------------------
//Define the Animation settings
animation.delegate = self;
animation.fromValue = [NSNumber numberWithInt:0];
animation.toValue = [NSNumber numberWithInt:1];
animation.duration = 0.3;
...etcetc...