我想建立一个画廊,但我的问题是如何加载@ 2x图像?
iOS会尝试搜索它们还是我可以指定路径?
答案 0 :(得分:1)
从服务器加载图像时。
首先,当您将imagesSize发送到服务器
时,您会向服务器发送请求/连接示例: - www.example.com/iPhone/abc.php?imagesSize = 1
在哪里!对于@ 2x
0表示简单(非视网膜手段)
如果你使用这种方法,那么图像不会淀粉。
答案 1 :(得分:1)
你可以存储两个版本的图像,一个用于视网膜,一个用于非视网膜。当设备即将从Web服务器下载图像时(假设您使用的是webservice脚本),您可以获得如下的帖子数据:
NSString *postData;
if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
([UIScreen mainScreen].scale == 2.0)) {
postData = @"retina_device";
} else {
postData = @"non_retina_device";
}
你会知道设备所要求的图像版本,假设你将在php中编写webservice sript
<?php
$postData = $_REQUEST['postData'];
if($postData == @"retina_device"){
//return all images for retina device
}
?>
答案 2 :(得分:0)
使用此if / else块
if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
([UIScreen mainScreen].scale == 2.0)) {
// Retina display
} else {
// non-Retina display
}
您可以检测您是在视网膜显示器还是标准显示器型号上,然后加载正确的图像。