私は最初のiPhoneアプリケーションを開発しています。私はそれを「機械」よりも先に作っています。今度は、&仕上げの詳細をラッピングしています。シンプルアニメーションのスムーズさを改善する
設定ペインの画面の下からスライドするビューがあります。ビュー自体には不透明度0があり、その内部にはUIImageViewビューがあり、PNGはコントロールの背後にあるビューの実際の背景を作成します。私はUIViewのための組み込みのアニメーション呼び出しを使用しています。
[self.view addSubview:settingsViewController.view];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
frame.origin.y = 200.0;
settingsViewController.view.frame = frame;
[UIView commitAnimations];
残念ながら、デバイスのアニメーションは不安定です。私の背景として使用しているPNGは、その幅の最上位30ピクセルだけで透明です。透過性のないPNGを使用すると、アニメーションはスムーズです。
アプリケーション自体は非常にグラフィカルなので、ビューは他のPNGでいっぱいの画面の上にアニメーション表示されます。
デバイスがこのタイプのアニメーションをスムーズに処理できない場合、私は私のアプローチを改良する必要があると私に信じさせてくれます。私がこれまでに持っていた考えは、
Core Animationを直接使用する必要がありますか?アニメーション化する前に設定ペインの後ろにビューをキャッシュすると、何とか効果がありますか?
これは私にとって新しい領域であり、最適な方法があるとわかっています。それは良い方法と考えられています。御時間ありがとうございます!
もちろん、私は透明度と不透明な画像を合成する際のプロセッサオーバーヘッドの違いについて認識しています。イメージの分割についての良い提案。私はそれを見てみましょう。現実は、私はちょうど過度に厄介であるかもしれません。インストゥルメントはすべてがスムーズに動いていると言いますが、私の目は不一致です。 –
インストゥルメントはアニメーションがスムーズであるかどうかを伝えるつもりはありません。それが何をしているのかは、グラフィックスが合成されている場合は赤で、描画されている場合は緑で強調表示されます。それを使用して、必要以上に合成されているかどうかを確認します。 – benzado
view.layer.shouldRasterize = YES; – jjxtra