当存在@ 2x~ipad图像时,将@ 2x文件用于NonRetina iPad

时间:2012-04-20 15:45:08

标签: ios xcode ipad

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

我想在界面构建器中设置图像。 iPhone工作正常,我在xib中设置了file.png,它在Retina iPhone上加载了file@2x.png。但是在nonRetina iPad上,即使我指定了file@2x.png,也会加载file@2x~ipad.png。

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

我不想对同一张图片进行重复,只是为了能够以不同方式命名。

感谢。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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

答案 2 :(得分:-1)

尝试创建file~ipad.png。非视网膜iPad应首先查找该文件。