1

我有 3 张图片,file.png、file@2x.png 和 file@2x~ipad.png。我想在 Retina iPhone 和 nonRetina iPad 上使用 file@2x.png。

我想在 interface builder 中设置图像。iPhone 工作正常,我在 xib 中设置 file.png 并在 Retina iPhone 上加载 file@2x.png。但在非视网膜 iPad 上,即使我指定了 file@2x.png,也会加载 file@2x~ipad.png。

当通过界面生成器/xibs 不存在 ~ipad 版本时,有没有办法将 nonRetina iPad 设置为默认为 @2x 版本?(我很清楚通过编写自定义加载代码通过代码加载具有不同扩展名的图像)我可以更改任何设置或列表吗?

我不想复制相同的图像只是为了能够以不同的方式命名它们。

谢谢。

4

3 回答 3

1

在不添加重复文件的情况下执行此操作的一种方法是命名 iPad 版本file@2x@2x.png。然后,您可以使用其中一个设置 iPad 版本,[UIImage imageNamed:@"file@2x"];或将图像设置file@2x.png为已file@2x@2x.png在视网膜 iPad 和file@2x.png普通 iPad 上使用。这样就没有重复了。

于 2012-04-20T16:41:34.627 回答
1

使用符号链接指向myImage~iPad.png. myImage@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. 非视网膜 iPad 应首先查找该文件。

于 2012-04-20T16:29:32.937 回答