同じ xib を使用して iPhone4 と iPhone5 の両方のクラスを設計する方法はありますか?
8 に答える
はい、自動レイアウトを使用して、iPhone 4 と iPhone 5 のデザインに同じ XIB を使用できます。
基本 SDK として iOS 6 を使用してアプリを構築し、自動レイアウト機能を使用して、すべてのタイプの画面に合わせてスケーリングできる画面を作成します。これを行うには、Xcode 4.5 が必要です。
ここで自動レイアウトを開始します:
http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2
パート 2 オブ 2
Default-568h@2x.png という名前の画像を追加します。これにより、アプリが iPhone 5 メトリックをサポートするアプリとして識別されます。また、ビューの自動サイズ変更を適切に行う必要があります。
あなたの質問に対する簡単な答えはYESです。
長いのは:-XCode 4.5を使用し、ユニバーサルなアプリをビルドする場合、NIBファイルとクラスはiPhone4とiPhone5で完全に機能します。これらのモバイルのSDKのバージョンを知っておくことが重要であり、モバイルバージョン自体ではないことを理解してください。
もう一つのことは、iphone5のサイズはiphone4よりも少し大きいので、それに応じて設計する必要があるということです。理解を深めるために、 iPhone5の画面解像度の問題で私の答えを読んでください。
iPhone5の画面解像度用のアプリを開発または移行する方法もご覧ください。ユニバーサルアプリの設計に関する詳細については、回答してください。
はい、可能です。
内側の矢印を有効にして、側面の角度を削除し、オブジェクトを自由にします。そのため、画面に合わせて自動的にサイズ変更されます。
- ただし、これが機能するのは、すべてのデフォルトまたはその他のスプラッシュ スクリーンを提供する場合のみであることを覚えておいてください。
以下の行を定義し、デバイスに基づいて状態を確認してください。
#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);
}
アプリを iOS 5 と iOS 6 の両方に対応させるために使用AutoAutoresizing
します。レイアウトの依存関係が最小限である場合、これは簡単です。そして、これは のようなコンポーネントの問題を修正するために可能ですUIToolBar
。iPhone 5 のボタン。
いくつかの小さな変更 (画像の位置とサイズ、スクロール ビューのコンテンツ インセットなど) を行いたい場合は、コードを使用して iPhone 5 と iPhone 4/4s を区別し、if/else ステートメント内にコードを実装できます。
これを使って:
https://stackoverflow.com/a/12447113/1371949
iPhoneの種類を検出します。