1

file.png、file@2x.png、file@2x~ipad.png の 3 つの画像があります。Retina iPhone と nonRetina iPad で file@2x.png を使いたいです。

インターフェイスビルダーで画像を設定したい。iPhone は正常に動作します。ここで、xib に file.png を設定すると、Retina iPhone に file@2x.png が読み込まれます。しかし、Retina 以外の iPad では、file@2x.png を指定したにもかかわらず、file@2x~ipad.png が読み込まれます。

~ipad バージョンがインターフェイス ビルダー/xibs を介して存在しない場合に、非 Retina iPad を @2x バージョンにデフォルト設定する方法はありますか? (カスタム読み込みコードを作成することにより、コードを介してさまざまな拡張子の画像を読み込むことをよく知っています)変更できる設定やplistはありますか?

異なる名前を付けられるようにするためだけに、同じ画像を複製したくありません。

ありがとう。

4

3 に答える 3

1

重複ファイルを追加せずにこれを行う 1 つの方法は、iPad バージョンに名前を付けることですfile@2x@2x.png。次に、いずれかを使用して iPad のバージョンを[UIImage imageNamed:@"file@2x"];設定するか、画像をRetina iPad と通常の iPadで使用するfile@2x.pngように設定できます。そうすれば重複はありません。file@2x@2x.pngfile@2x.png

于 2012-04-20T16:41:34.627 に答える
1

へのシンボリック リンクを使用myImage~iPad.pngmyImage@2x.pngます。ソースhttps://stackoverflow.com/a/10223119/313875

この回答の要約(読んでください-別の質問に対する他の誰かの回答なので、投票してください!):

ln -s myImage@2x.png myImage~ipad.png各画像に使用します。またはスクリプトを使用します。

#! /bin/sh

# Script to batch create symlinks that point ~ipad files to @2X files

# To run:
# Copy to the directory where the files are located
# Enter the following at the terminal prompt:
# bash create_ipad_image_links.txt

# For every @2x file we find in this directory we create a symlink

for file in *@2x.png
do
  echo "link: ${file//@2x/~ipad} to: $file" 
  ln -s $file ${file//@2x/~ipad}
done
于 2012-04-20T17:12:32.837 に答える
-1

作成してみてくださいfile~ipad.png。Retina 以外の iPad では、最初にそのファイルを探す必要があります。

于 2012-04-20T16:29:32.937 に答える