2

私のアプリケーションでは、iPadRetina画像を表示するのに問題があります。私は@2x~ipad.pngそれらを正しく表示させるために拡張機能を使用する必要があることを知っています、そして私はそれをします。私の画像はそれに応じて名前が付けられているので、各デバイスの拡張子を除いてすべて同じ名前が付けられています。ただし、iPad 3で画像を表示すると、画像がぼやけて表示されます。画像が適切なサイズとPPIであることはわかっていますが、はっきりと見えません。

私の画像は「バンドルリソースのコピー」にもあります。プロジェクトをクリーンアップして、Xcodeを再起動しようとしました。運がない。

また、iPadXIBのInteraceBuilderでは、各画像を-72.png画像に設定しています(iPad 3が正しい場合、画像は自動的に@ 2x〜ipad.pngに切り替わりますか?)

NSLogsを介して、正しい画像が読み込まれているかどうかを確認する方法はありますか?また、適切な画像が読み込まれていることを確認するために再確認する必要があるものは他にあります。

4

2 に答える 2

8

ええと、あなたが本当にこれをしているなら:

[名前]-72.png と [名前]@2x~ipad.png

それは正しくありません。

これがユニバーサルアプリの場合、

  • Foo.png (または Foo~iphone.png) および Foo@2x.png (または Foo@2x~iphone.png) [注: iphone ではなく iPhone];

  • Foo~ipad.png と Foo@2x~ipad.png

これはすべて、ユニバーサルアプリで機能します。

編集: 命名規則については、Apple の「リソース プログラミング ガイド」の 46 ページを参照してください。

バンドルと画像の読み込みルーチンは、基盤となるデバイスが高解像度の画面を備えている場合、@2x 文字列を含む画像ファイルを自動的に探します。@2x 文字列を他の修飾子と組み合わせる場合、@2x 文字列はデバイス修飾子の前に配置する必要がありますが、起動方向や URL スキーム修飾子などの他のすべての修飾子の後に配置する必要があります。例えば:

  • MyImage.png - 画像リソースのデフォルト バージョン。

  • MyImage@2x.png - Retina ディスプレイを搭載したデバイス用の画像リソースの高解像度バージョン。

  • MyImage~iphone.png - iPhone および iPod touch 用のイメージのバージョン。

  • MyImage@2x~iphone.png - Retina ディスプレイを搭載した iPhone および iPod touch デバイス用の高解像度バージョンの画像。

EDIT2:「-72」(および-50)への参照でつまずきました。これらは iOS 3.1.3 以前で使用されていました。完全な説明は、「iOS アプリケーション プログラミング ガイド」の「アプリ アイコン」セクションにあります (リンクが脆弱すぎて使用できません)。

于 2012-08-12T22:17:57.853 に答える
0

私がやっていることは、画像名を次のように設定することです:

  1. [name]_ipad.png[name]_ipad@2x.png。【iPad】
  2. [name]_ipod.png[name]_ipod@2x.png。【iPhone】

そして、現在のデバイスに基づいてまたはを追加するカテゴリ onUIImagemc_imageNamed:追加しました。そしてもちろん、XIB の名前に基づいて画像を設定しました。_ipad_ipod

私の経験から、この方法は確実に機能します。誰かがあなたの問題を解決してくれれば素晴らしいことですが、この解決策も利用できます。

于 2012-08-12T22:13:43.660 に答える