次のスニペットは、キーフレームアニメーションを使用してというビューを回転します。アニメーションは、最初のフレーム、2番目のフレーム、最後のフレームのそれぞれ0º、180º、360ºにビューを回転して、1秒間に3枚のフレームで構成されています。コードは次のとおりです。
CALayer* layer = someView.layer;
CAKeyframeAnimation* animation;
animation = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation.z"];
animation.duration = 1.0;
animation.cumulative = YES;
animation.repeatCount = 1;
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
animation.values = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0 * M_PI],
[NSNumber numberWithFloat:0.5 * M_PI],
[NSNumber numberWithFloat:1.0 * M_PI], nil];
animation.keyTimes = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0],
[NSNumber numberWithFloat:0.5],
[NSNumber numberWithFloat:1.0], nil];
animation.timingFunctions = [NSArray arrayWithObjects:
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear], nil];
[layer addAnimation:animation forKey:@"transform.rotation.z"];
あなたは反時計回りにアニメーション後にしている場合は、あなたが負の値を使用する必要があります。もう少し基本的なアニメーションを使用するには、CABasicAnimationを使用できます。
CALayer* layer = someView.layer;
CABasicAnimation* animation;
animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
animation.fromValue = [NSNumber numberWithFloat:0.0 * M_PI];
animation.toValue = [NSNumber numberWithFloat:1.0 * M_PI];
animation.duration = 1.0;
animation.cumulative = YES;
animation.repeatCount = 1;
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
[layer addAnimation:rotationAnimation forKey:@"transform.rotation.z"];
特別なものを含める必要がありますか? Xcodeは、kCAMediaTimingFunctionLinearのようなすべてのkCAについて不平を言っています。彼らは不明です。あなたは何かがされていないとの問題があるときはいつでも、LD 1つの終了ステータス – Thanks
".objc_class_name_CAKeyframeAnimation"、記号(複数可) collect2はが見つかりませんそれがどこに定義されているかを見るために、ドキュメント内でそれを検索する必要があります。この場合、これらの定数はQuartzCoreフレームワークの一部であるCAMediaTiming&CAMediaTimingFunctionで定義されます。 QuartzCore.frameworkを追加していない場合は、おそらくそれが問題です。 – Thanks
が返されました: リテラル・ポインタ@__にObjC @__ TestClass.o LDでCAKeyframeAnimation @ cls_refs:から参照 –