0

私は1つのユニバーサルアプリを開発しました。4種類の画像があります

  • iphone --simple.png
  • iphone網膜-simple@2x.png
  • ipad-simple@3x.png
  • ipad網膜-simple@3x @ 2x.png

アプリケーションを実行しようとすると、ipad(非網膜)では正常に動作しますが、ipad網膜に黒い画面(画像なし)が表示されます。

ここに、iphoneとipadに関連する名前を付ける関数のコードを入力します。

#define SHImageString(str, ext) ({ UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ? ([NSString stringWithFormat:@"%@.%@", (str), (ext)]) : ([NSString stringWithFormat:@"%@@3x.%@", (str), (ext)]); })

前もって感謝します。

4

1 に答える 1

1

次のようになります。

  • iphone-simple.png
  • iphone網膜 - simple@2x.png
  • iPad - simple_iPad.png
  • iPad Retina - simple_iPad@2x.png

コード (または XIB) では、拡張子のないファイルのみを使用します@2x。アプリが Retina ディスプレイで実行されている場合、自動的に@2xバージョンが使用されます。私はこれを何度も使用しましたが、完璧に機能します。

于 2012-11-27T12:33:53.973 に答える