私は UIImageView
それを下から上へと徐々に隠します。
Objective-Cで最も効率的な方法は何ですか? 私は探している CABasicAnimation
クラスとアニメーションクラス。
回答:
回答№1は1あなたがCoreAnimationを深く知りたければ、私はあなたがこれを使うことができると思います:
CABasicAnimation *animationA=[CABasicAnimation animation];
animationA.keyPath=@"position.y";
animationA.fromValue=@0;
animationA.toValue=@250;
animationA.duration=3;
animationA.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
[yourTestView.layer addAnimation:animationA forKey:@"basic"];
yourTestView.layer.position=CGPointMake(250, 50);
IOS7のみをサポートしたい場合は、よりインタラクティブなアニメーションを実現するためにUIAttachmentBehaviorとUIDynamicItemBehaviorを学ぶことができます。
回答№2の場合は0
このようなすべてのアニメーションはコアアニメーションを使用し、ブロックベースのアニメーションを使用して簡単に実行できます。
これのために、あなたは何かのようにするでしょう...
[UIView animateWithDuration:3
animations:^{
imageView.frame = CGRectMake(//the end frame of the image view
}];
これにより、与えられた期間にわたって変化がアニメーション化されます。 (この場合は3秒)。
あなたがのドキュメントで見つけることができる他のバージョンがあります UIView
アニメーションカーブを変更したり、完成時にいくつかのコードを実行したりするなど、もっと多くのオプションを提供します。
注意
これは、自動レイアウトを使用していないことを前提としています。自動レイアウトを使用している場合、メソッドはまったく同じですが、制約を変更してから実行する必要があります [view layoutIfNeeded];
の中に animations
ブロック。