-1

Xcode 4.5.1 をインストールし、iOS 5 用に開発したアプリを 1 つ持っています。4 インチ Retina ディスプレイ用の新しい起動イメージを含むアプリケーションのアップグレードを公開できるように、プロジェクトをアップグレードしたいと考えています。

問題は、iPhone 6 シミュレーターで実行すると、Apple が言うように、アプリケーションが上下に黒いバーを表示することです。しかし、この瞬間に新しい 4 インチ (640x1136) の起動イメージを挿入すると、iPhone 6 シミュレータで実行すると、新しい起動イメージが正しく表示されますが、アプリが完全な画面で実行されているように見えるため、アプリの背景イメージが正しく表示されません。私が望むように上と下に黒いバーを表示します。

したがって、4" の新しい起動イメージを挿入しないと、アプリの新しい更新を公開できませんが、4" の新しい起動イメージを挿入すると、背景イメージとレイアウトが間違っているため、アプリはすべてのビューコントローラーを間違って表示します。 design form 3'5" ディスプレイ...これは正しいですか?

この状況を解決するには、画面のサイズが 4 インチの場合はコードで制御する必要があります。そうでない場合は、この新しい解像度から 1 つの画像を配置します。現在の画像ですか?

4

1 に答える 1

1

4 インチ サイズをサポートするには、アプリの背景画像をすべて更新する必要があります。さらに、*-568h@2x.png という接尾辞を付けてアプリのバージョンを作成するだけでは、自動的に使用されるわけではありません (*@2x.png のように)。画面のサイズを決定するにはコードを変更する必要があり、高さが 568 の場合は、背景画像ビューの画像を -568h バージョンに置き換えます。ここに多くの回答があります.私が使用するものはかなり単純です:

- (void)viewDidLoad {
    [super viewDidLoad];
    // iPhone 5 の場合
    // self.bgView がバックグラウンド ビューであると仮定します
    CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
    if ([UIScreen mainScreen].scale == 2.f && screenHeight == 568.0f) {
        self.bgView.image = [UIImage imageNamed:@"SomeImage-568h@2x"];
    }
...
}
于 2012-10-10T11:31:26.070 に答える