左/右/上/下に移動するなど、さまざまなアニメーションを使用して、ある複雑なビューを別の複雑なビューに置き換えようとしています。1 番目と 2 番目のビューには、30 ~ 40 のサブビュー (ボタン) が含まれています。私のコードは次のようなものです:
oldView.alpha = 1;
newView.alpha = 0;
oldView.frame = CGRectMake(0, 0, width, height);
newView.frame = CGRectMake(0, -height, width, height);
// begin animation
// setting duration 0.3
// ...
oldView.alpha = 0;
newView.alpha = 1;
oldView.frame = CGRectMake(0, height, width, height);
newView.frame = CGRectMake(0, 0, width, height);
// commit animation
// ...
iPhone SimulatorとiPhone 4Sでは問題なく動作しますが、 iPhone 4では遅れます。ラグとは、12 ~ 15 FPS を意味します。
このアニメーションを高速化するにはどうすればよいですか?
center
の代わりにプロパティを使用する必要がありframe
ますか?- ビューを にレンダリングして
UIImageView
アニメーション化する必要がありますか? - ビューをレイアウトして
UIScrollView
呼び出す必要がありますscrollRectToVisible:animated:
か?
そして、なぜ私のアニメーション コードがとても遅いのか説明してください。2 つのビューに 10 ~ 20 個のボタンが含まれている場合、速度に問題はありません...