13

Appleが iPhone 5 の出荷を開始しようとしている今、私は自分のアプリケーションを拡張して、iPhone 5で全画面表示されるようにすることを検討しています。シミュレーターでアプリを実行しましたUITableViewが、画面の下部まで伸びているアプリでも、画面の上部と下部に黒いバーが表示されます。

私の質問は次のとおりです。iPhone 5用にアプリを拡張するためのベスト プラクティスは何ですか?

3.5インチと4インチの画面用に別のペン先を作成するか、コードですべてを拡張する必要がありますか?

私はこれを可能な限りスムーズに移行しようとしているので、SO の知識に訴えて、両方の画面を構築するための最良の方法を教えてくれます。

4

4 に答える 4

13

アプリで 4 インチのフルスクリーンを利用するのは、Default-568h@2x.pngサイズ 640 x 1136 の新しいデフォルト画像を追加するのと同じくらい簡単に思えます。実際、Xcode 4.5 は、適切なサイズの黒い画像を追加し、プロジェクトに名前を付けます。

テーブル ビューなどの標準 UI コンポーネントを使用するアプリの場合、テーブルは魔法のように拡張されて画面いっぱいに表示されます。仕事用にアプリを更新しましたが、コードと UI のセットアップに関連する小さな問題がいくつかあるだけで、文字通りこれほどシンプルでした。しかし、全体として、非常に簡単です。

これを、UIView 以外の標準 UI コンポーネントをまったく使用しない (自分用に) 私が取り組んでいる別のアプリと比較してください。3.5 インチと 4 インチの両方の画面に対処するために、アプリのさまざまな操作の画面サイズを知る必要があるコードのリファクタリングにかなりの時間を費やさなければなりませんでした。(この場合のアプリは、生産性アプリというよりは、ゲーム/シミュレーターのようなものです。)

そのため、4 インチ画面をサポートするために実際に必要な労力のレベルに関して、マイレージは異なる場合があります。私が発見したように、アプリがどれほど複雑で「非標準」であるかによって異なります。

于 2012-09-20T18:51:48.267 に答える
6

大画面のiPhone5用に既存のアプリを更新すると、画面の下部が「クリック可能」にならない場合もあります。たとえば、画面の下部にツールバーがある場合、そのツールバーは正しく表示されますが、ボタンはタッチに反応しません。この場合、ウィンドウがフルスクリーンを使用していることをアプリに通知する必要があります。

ある場合はMainWindow.xib、それを開きwindow、属性インスペクターでを選択し、[起動時に全画面表示]がオンになっていることを確認します。

プロジェクトに含まれていない場合MainWindow.xib(およびほとんどの新しいプロジェクトには含まれていない場合)、applicationDidFinishLaunchingアプリデリゲートのに1行余分に追加する必要があります。

- (void)applicationDidFinishLaunching:(UIApplication *)application {

    [window setFrame:[[UIScreen mainScreen] bounds]];
    ...
}

メソッドの最初に入れました。チャームのように働いた。

于 2012-09-24T14:03:53.970 に答える
3

このパスは、シミュレーターXCode->Targets->Summary->iPhone/iPod Deployment Info (Retina 4 インチ)で見つかります。

サイズが 640 x 1136 のデフォルトの画像を追加する必要があります。

このコードをAppDelegateファイルに適用します

mainWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

mainWindow.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

ウィンドウのメイン画面サイズを取得します。クラスファイルをチェックインしたいときはいつでももう1つ、このコードを追加するだけです

if ([UIScreen mainScreen].bounds.size.height > 500.0f)

ビュー コントローラーの場合は、プロパティを 1 つ追加するだけですautoresizingMask

self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

これは私にとってはうまくいきます。

于 2012-11-22T05:34:59.213 に答える
0

私は同じ問題を探していて、iPhone 5 (4") で xib ファイルをフルスクリーンにレンダリングしようとしましたが、この回答を見つけました。これはDefault-568h@2x.png、レンダリングする必要があることを iOS に伝えるために画像を追加するだけでよいというものです。アプリを 4 インチのフルスクリーンで。これを追加するだけで問題が解決しました。

[UIScreen mainScreen].bounds] が全画面サイズを返さないのはなぜですか?

于 2014-06-24T01:34:05.040 に答える