重複の可能性:
iOS5.1とXcode4.2およびiPad3の網膜
私は自分のアプリをiPad2にロードしようとしています(iPad 3でうまく動作するため)。画像を縮小して、image.pngとimage@2x.pngのような2セットの画像を作成しました。次のコマンドで画像を読み込もうとすると、次のようになります。
someImageView.image = [UIImage imageNamed:@"image.png"];
または、IBを介して、期待した結果が得られず(ここで説明するように、iPadのディスプレイに応じて正しいバージョンの画像を選択するなど)、アプリケーションを実行しているiPadに関係なく、image.pngのみが表示されます。次の方法で画像をインポートしてみてください。
NSString* imagePath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];
UIImage* someImage = [[UIImage alloc] initWithContentsOfFile:imagePath];
someImageView.image = someImage;
これは問題なく機能し、iPad 3でアプリを実行すると、@2xpngファイルが使用されます。これは機能しますが、IBを介して一部のイメージを使用しているため、使用するすべてのイメージを割り当てて解放する必要があるかどうかはわかりません。それは正常な動作ですか?
SDK 4、4.2、5を使用しましたが、何も変更されていません。また、Lionに切り替えたくないため、Xcode4.2を使用しています。
- 使用せず
someImageView.image = [UIImage imageNamed:@"image.png"];
に、IBスロットの画像「image.png」を選択してみました。動作しませんでした。 image
IBスロットに入力するだけで試してみました。動作しませんでした。何があってもimage.pngを取得します。- 使っ
someImageView.image = [UIImage imageNamed:@"image@2x.png"];
てみましたどのデバイスでも2倍の画像が表示されます。 - とを使っ
image@2x~ipad.png
てみimage~ipad.png
ました。動作しませんでした。 - 画像のすべてのセットには正しい名前が付けられ、サイズは正しく、すべて同じグループ/フォルダー内のプロジェクトにインポートされています。
- これは普遍的ではありませんが、iPadアプリケーションです。
- プロセス中にビルドを数回クリーンアップしました。
どんな助けでも大歓迎です!
* UPDATE:が2を返すUIImage
ときに@ 2xに切り替わります。これを確認すると、1が返されます。これが、@2xがアクティブ化されていない理由です。[UIScreen mainScreen].scale
では、4.2がiPad3 Retinaディスプレイを認識しないかどうか誰かが知っていますか?私はここで似たようなものを見つけました。
*更新2:SDK 5.1をXcodeにマージし、ベースSDKとして使用することで、これを機能させることができました。SDKフォルダーにSDK5と5.1の両方がある場合は機能せず、SDK5バージョンを削除するとチャームとして機能しました。