同じxibを使用してiPhone4とiPhone5の両方のクラスを設計する方法はありますか?
はい、同じXIBを使用して、自動レイアウトを使用してiPhone4とiPhone5のデザインを行うことができます。
IOS 6をベースSDKとして使用してアプリを構築し、自動レイアウト機能を使用して、すべてのタイプの画面に合わせて拡大縮小できる画面を作成します。これを行うには、Xcode4.5が必要です。
ここから自動レイアウトを開始します。
http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2
http://www.raywenderlich.com/20897/beginning-auto-layout-part-2-of-2
[email protected]という名前の画像を追加します。これにより、アプリがiPhone5の指標をサポートするアプリとして識別されます。また、ビューの自動サイズ設定を適切に行う必要があります。
あなたの質問に対する簡単な答えは「はい」です。
長いのは:-XCode 4.5を使用し、ユニバーサルなアプリをビルドした場合、NIBファイルとクラスはiPhone4とiPhone5で完全に機能します。これらのモバイルのSDKのバージョンを知ることは、モバイルバージョンではなく重要であることを理解してください。
もう一つのことは、iphone5のサイズがiphone4より少し大きいので、それに応じて設計する必要があるということです..理解を深めるために iPhone 5の画面解像度の問題 で私の答えを読んでください。
また、 iPhone 5の画面解像度用のアプリを開発または移行する方法は? 回答を参照して、ユニバーサルアプリの設計についてさらに明確にしてください。
はい、それは可能です、
側面の角度を削除し、内側の矢印を有効にしてオブジェクトを自由にします。そのため、画面に応じて自動的にサイズが変更されます。
Appleが提供する自動レイアウト機能を使用できます。 Appleドキュメント:- https://developer.Apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introductionを参照してください。 /Introduction.html
以下の行を定義し、デバイスに基づいて条件を確認してください。
#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
if (IS_IPHONE_5) {
btnBookmark.frame=CGRectMake(0, 460, 100, 70);
btnBookmark.frame=CGRectMake(150, 460, 100, 70);
}else{
btnBookmark.frame=CGRectMake(0, 360, 100, 70);
btnBookmark.frame=CGRectMake(150, 360, 100, 70);
}
小さな変更(画像の位置とサイズ、スクロールビューのコンテンツインセットなど)を行う場合は、コードを使用してiPhone5とiPhone4/4sを区別し、if/elseステートメント内にコードを実装できます。
これを使って:
https://stackoverflow.com/a/12447113/1371949
iPhoneの種類を検出します。
AutoAutoresizing
を使用して、アプリをiOS5とiOS6の両方と互換性を持たせることができます。これは、レイアウトの依存関係が最小限の場合は簡単です。そして、これはUIToolBar
のようなコンポーネントの問題を修正するために可能です。 iPhone5のボタン。