ビューコントローラ間でカスタムアニメーションを実行しようとしています。以下の場合は、UINavigationControllerのpopViewControllerを模倣しています。ただし、iPhone、特にiPadではかなり遅れているようで、Time Profilerは、すべての遅れがaddSubview行に起因していることを確認しています。
とにかく、私はInterface Builderを介してnlViewに接続し、以下のコードを使用します。
[self.view.superview addSubview:nlView.view];
[nlView.view setFrame:CGRectMake(-kWidth, 20, kWidth, kHeight-20)];
[UIView animateWithDuration:2
animations:^{
[nlView.view setFrame:CGRectMake(0, 20, kWidth, kHeight-20)];
[self.view setFrame:CGRectMake(kWidth, 20, kWidth, kHeight-20)];
}
completion:^(BOOL finished){
[self.view removeFromSuperview];
}];
では、どうすればこのラグを最小限に抑えることができますか?リークなどはありませんが、ビューを変更するときにラグが発生しないようにロジックを変更するにはどうすればよいですか?
ありがとう!