iPhoneランドスケープモードが遅い
-
20-09-2019 - |
質問
私がランドスケープモードで開発しているiPhoneアプリは、ひどくひどいものです。比較のためにポートレートに入れましたが、その方向ではるかにスムーズに動作するようです。私はプロセス集約的だと思うことをしていません:マップビュー、いくつかのボタン、いくつかのラベル、いくつかのクォーツ図面。
ランドスケープモードがポートレートと比較してひどく障害者であるかどうか、および/またはランドスケープアプリを作成するより良い方法がある場合、誰かが知っていますか?変換されたルート回転ビューを使用して、90度変換されたものを使用して、すべてのサブビューをそれに取り付けます。
ありがとう。
解決
パフォーマンスのレンダリングに関しては、風景とポートレートオリエンテーションの間に本当の違いはないはずです。変換を使用してメインビューを90度回転させていますか? iPhone OS 2.1の時点では、メインビューに変換を手動で適用して、ランドスケープを開始する必要がなくなったと思います。景観オリエンテーションを強制するために私がしなければならなかったのは、この代表材の方法をアプリケーションの代表に配置することだけでした。
- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration;
{
// This prevents the view from autorotating to portrait in the simulator
if ((newStatusBarOrientation == UIInterfaceOrientationPortrait) || (newStatusBarOrientation == UIInterfaceOrientationPortraitUpsideDown))
[application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
}
ルートビューコントローラーの以下:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return ( (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}
他のヒント
たぶん、あなたはいくつかの部門を行い、それを引き起こし、非整数ピクセルの位置(0.76など)になります。非整数ピクセルのポジションがあるとき、パフォーマンスにいくつかの問題がありました。 (私はこれらが接続されているかどうか完全にはわかりませんが、それはあなたを助けるかもしれません)
みんな、あなたの提案と助けをありがとう。私は、ビューコントローラーオートローテート設定を設定するというブラッドの提案を試しましたが、それは非常にうまく機能しました。それは減速の大きな貢献要因だったと思います。