我有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版本? (我很清楚通过编写自定义加载代码来加载带有不同扩展名的图像)是否有任何可以更改的设置或限制?
我不想对同一张图片进行重复,只是为了能够以不同方式命名。
感谢。
答案 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应首先查找该文件。