0

iPad アプリ内で対話機能を作成しようとしています。

画像ギャラリーを回転させたいのですが、パンまたはスワイプ移動を使用して速度を設定し、時間とともに減少させます。

私はActionscriptの世界から来たので、onEnterFrameハンドラーを使用してそうしますが、Objective-Cでそれを行う方法がわかりません

編集: 追加したい動きは、カバーフロー メニューに似ています。

私の質問は: フレームごとに実行されるメソッド (または onEnterframe に似たもの) 内でコードを効率的に実行するにはどうすればよいですか?

ありがとう!

4

2 に答える 2

2

あなたはフレームについて話しているので、非常にフレームのUIコードをやりたいと思っています。

「フレーム」ごとのカスタム描画

カスタム ビューを実装することで、フレームごとにコード実行し、1 秒間に 60 回起動して を呼び出す NSTimer を使用できます[self setNeedsDisplay];drawRect:これで、フレームごとにカスタム ビューメソッドが呼び出されます。

これで、すべてのフレームを実行するコードができました。特にすべてのフレーム間でビューを変更しない場合、これはおそらく最も効率的な方法ではないと思います。

ジェスチャ認識エンジンからのコールバック

ジェスチャ認識エンジンは、ユーザーがスワイプまたはパンするたびにコールバックを提供します。this に応答してビューを移動するだけの場合は、コードをこれらのメソッドに配置するとうまくいきます。

このアプローチを使用すると、対応する変更がある場合にのみコードを実行します。

Core Animation を使用したカバー フロー

カバー フローに似たものを行おうとしている場合は、コア アニメーションを使用して行うことができます。ここでそれを行う方法を正確に説明するのは少し複雑です。さらに、どのように表示するかの詳細もわかりませんが、Web には、Cover flow のようなものを作成する方法を説明する優れたリソースがたくさんあります。

1 つのリソースは、Bill Dudney による Core Animation スクリーンキャストで、Core Aniation を使用して Cover フロー UI を作成しています。これ 数年前のもので、Mac を対象としていますが、そのほとんどはまだ iOS に適用されます。

于 2012-06-15T15:40:29.930 に答える
0

あなたの答えは、UIViewController の viewWillAppear メソッドに実装することです

于 2012-06-15T14:52:05.870 に答える