web-dev-qa-db-ja.com

アセットカタログがR4画像を返さないのはなぜですか?

画像をアセットカタログに移行中です。私のアプリは起動画像にアクセスする必要があります起動して画面に表示します。

簡単ですが、背の低いiPhoneと背の高いiPhoneで画像が異なり、[UIImage imageNamed:@"LaunchImage"]を呼び出すとiPhone5が短い起動画像を読み込んでいます。

さて、多分私は起動イメージでこれを行うことができません。代わりに、いくつかの画像を通常の画像セットに入れてみます。

Image Set

サイコロはありません。 iPhone 5を使用して、[UIImage imageNamed:@"Derp"] OR Interface Builderで画像を設定すると、R4(レチナ4インチ)ではなく2x(レチナ)画像が表示されます)を呼び出すと画像。

この機能は壊れていますか? iPhone 5(iOS 7)でR4イメージを取得するにはどうすればよいですか?

19
Neal Ehardt

XcodeによってR4イメージが自動的に選択されるようにするには、iOSターゲットをiOS 7に変更する必要があります。したがって、iOS7 SDKを使用している場合でも、プロジェクトターゲット必須はiOS7です。

32
Coolsinus

this のおかげで答えを見つけました。アセットカタログのサブタイプR4は、iOS7以降でのみ機能します。それ以外の場合は、@ 2xイメージを使用します。

4
Tomasz Bąk

私は同じ問題を抱えており、時間を傷つけています。ローカライズされた起動画像を使用しているため、より複雑になっています。結局のところ、私は元に戻すだけで、アセットカタログは使用しません。起動イメージにDefault.png、Default @ 2x.png、Default-568 @ 2x.pngという名前を付けます。ローカライズしてバンドルに入れ、iOSに自動的に認識させます。すべてが正常に動作します。

2
dqshll

私たちが使用したソリューションは、アセットカタログを更新し、iOS6以前のみをターゲットにすることです。

どうやるか。アセットカタログに移動します。そして、右上隅にある「属性インスペクター」アイコンをクリックします。ここで、起動イメージのターゲットOSを設定できます。 iPhoneのiOS7チェックボックスをオフにします。これで、これらのデバイスの起動イメージを確認できるはずです。これを行うと、R4にも2xイメージを使用します。

2
remudada

R4イメージは、このプロセスでのみ機能しました。

  1. 問題のある画像ビューをストーリーボードから削除します
  2. まったく新しいイメージビューを追加して、予想されるアセット名に置き換えます。例: 「ダープ」
2
Pat McG