UIImage
画面の下部から画面の上部まで 20 秒 (約 35 ピクセル/秒) で移動するにはどうすればよいでしょうか。自分でドラッグする必要はありませんが、自動的に上部に移動する必要があります。ありがとうございました
2 に答える
まず、Apple Docはあなたの友達です。ここで提供するすべての情報は、これに由来します。Apple はサンプルコードもたくさん提供しているので、ぜひ見てみてください。
これを (簡単に) 実現できる方法は、UIView アニメーションを使用することです。画像に UIImageView があると仮定すると、animateWithDuration:(NSTimeInterval)duration animations:...
メソッドを使用できます。
例えば:
[UIView animateWithDuration:10.0f animations:^{
//Move the image view to 100, 100 over 10 seconds.
imageView.frame = CGRectMake(100.0f, 100.0f, imageView.frame.size.width, imageView.frame.size.height);
}];
アニメーションにさらに多くのオプションを追加したり、完了ブロックを取得したりして、より洗練されたものにすることができます。これはすべて、「animateWithDuration」メソッドのバリエーションで実現されます。そこには UIView アニメーションに関するチュートリアルがたくさんあり、ドキュメントもたくさんあります。
ブロック (上記の ^{ ...code...} ビット) を使用したくない場合は、次のようにアニメーションを実行できます。
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:10.0f];
imageView.frame = ...
[UIView commitAnimations];
私が理解している場合は、独自のオブジェクトのアニメーションを実行できます。この場合は、 beginAnimation を試してください
...
initial position
[UIView beginAnimation];
[UIView setAnimationDuration:dim/35.];
[UIView setAnimationCurve:[UIViewAnimationCurveLinear];
your animation
[UIView commitAnimations];
...
この計算でdim/35の計算を行うと、2位でアニメーションが35px / sになります