0

iPhone 4 以下のアプリがどのように iPhone 5 に最適化されているかについて、私は非常に混乱しています。私はデザイナーです。最適化はどのように行われますか? 基本的に、ノブやボタン、その他のインタラクティブなコンポーネントがたくさんあるアプリがあります。私の見方では、3つのオプションがありますが、最善の方法(または少なくとも標準的な方法)は何ですか?

1) iPhone 5 と同じレイアウトを維持しますが、背景に余分な長さを追加するだけです。

2) コンポーネントの画像/レイアウトを iPhone 4 から iPhone 5 にスケーリングして、すべてが比例するようにします。

3) 完全に別々の画像と、両方の異なるレイアウトを用意します。つまり、iPhone 5 の場合、コンポーネントを移動してスペースをより活用できます。これの問題 (そして私は開発者ではありません) は、コンポーネントの相互作用の位置が移動したため、事実上、iPhone 4 と 5 は別のアプリになっていることです。

4

6 に答える 6

1

iPhone 5 iPhone かどうかを識別するには、ファイルで次のコードを使用しますnameYourApp-prefix.pch

//Macro iPhone5
#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )

nameYourApp-prefix.pchサポート ファイルでファイルを見つけるには、コードを次の間に記述する必要があります。

# ifdef __ OBJC__

      //Code Macro iPhone5

# endif 

次のように、「if」を使用してそのデバイスを確認します。

if (IS_IPHONE_5) {

    //Code for 4 inch screen

}else{

   //Code for 3.5 inch screen

}

にマクロを配置するとnameYourApp-prefix.pch、すべてのクラスがそれを認識します。

于 2013-04-11T14:53:29.197 に答える
1

UIKit アプリケーションでは、どのオプションも理想的ではありません。Springs and Struts または Auto Layout を使用するだけで、ユーザー インターフェイス要素をあるべき場所にスナップさせることができます。

縦向きと横向きを切り替える場合の解決策は同じです。拡大できるユーザー インターフェイス要素と拡大できない要素、スナップするエッジなどを定義します。

iPhone 5 デバイスをお持ちでない場合は、シミュレーターで実行してレイアウトをテストしてください。

たとえば、 の場合UITableViewControllerUITableViewiPhone 5 では縦方向に拡大して、より多くの行が表示されるようにする必要があります。

私はほとんどの場合、部屋が与えられた場合に拡張するのに適したコントロールを少なくとも 1 つ持っています。そうしないと、おそらくビューの下部に空きスペースが増えるだけです。

于 2013-04-11T14:56:40.537 に答える
0

最初の選択が最も簡単で、うまく機能します。全画面画像用の特定のアセットを用意することだけを考えればよく、NavigationBar と TabBar (アプリにある場合) がそれぞれ上部と下部にあることを確認してください。

iPhone 4 と 5 のディスプレイ サイズは高さだけが異なるため、ボタンなどの他の画像/コンポーネントをスケーリングすると、一般的な縦横比が変更されます (おそらく望ましくないでしょう)。

于 2013-04-11T14:15:53.670 に答える
0

iPhone 5 の最適化の仕組み

アプリが iPhone 5 用に最適化されていることを (巧妙な名前の画像ファイルを使用して) iOS に伝えると、iOS は既存の Springs と Struts または Auto Layout (使用しているものは何でも) を使用してインターフェイスを再配置します。

于 2013-04-11T14:12:38.283 に答える