我对这件事感到很沮丧。这几天一直在想办法解决这个问题,但无济于事。
问题很明确。我有一个固定宽度和高度 65x65px 的 ImageView 。我碰巧在某些 Web 服务器上有一张具有相同尺寸 (65x65px) 的图像。
我正在做的是,将 URL 的图像加载到 ImageView 中。 (下面会附上代码)。
一切正常,除了图像质量非常差,我不知道为什么。尝试了各种方法,但似乎无法弄清楚。
会注意到从图像集(本地)加载的图像质量非常好(它们没有问题。只有来自 URL 的图像才有)
2 种行为引起了我的注意:
1) 如果我制作一个宽度和高度为 :65px 的按钮,并将我从 URL 获取的图像作为按钮的背景。它的质量是完美的。
2) 如果我使用更大的模拟器,质量会越来越好。它在 Iphone 6 plus 模拟器上适中(仍然有点差),但在 Ipad/Ipad2 上几乎完美
我用来从 URL 获取图像并将其加载到 ImageView 的代码是:
let imgUrl = NSURL(string: "http://imageurl")
let data = NSData(contentsOfURL: imgUrl!)
cell.myImageView.image = UIImage(data: data!)
我已经尝试过各种绝望的尝试,比如尝试使用不在表格单元格中的 ImageView 。不同的图像、不同的尺寸,甚至将图像设置为背景都有效,但我认为这不是解决方案...
我开始认为这是一个模拟器问题..但我不想发布有这样问题的应用程序(如果它不是模拟器问题)
另一件事也许值得一提,但我怀疑。我正在使用具有远程访问权限的 Mac。从来没有在我面前的 Mac 上测试过这个,但我怀疑这是否相关,因为本地的其他图像质量很好,大型模拟器也有很好的质量。
如有任何意见,我们将不胜感激。
问候。
编辑:我正在使用 xCode 6.3.x
编辑:经过进一步调查,我开始猜测这是一个缩放/缩放问题。我认为问题是,当我打开 Iphone4s 时,图像只是缩放(整个模拟器窗口被放大/缩放以填满屏幕)。我检查了 Iphone4s 和 Ipad2 模拟器上的“比例”,两者都是 100%。然而,Ipad2 上的相同图像比 Iphone4S 上的相同图像(在我的屏幕上)小两倍,尽管两者的宽度和高度都是 65px。所以我想这是一个模拟器问题?我怎么能这么确定呢?甚至知道哪个版本是正确的。
编辑: 看来问题如上所述。 Iphone4S 没有显示图像的实际大小,就像放大了一样。您可以阅读下面的评论以获取更多信息。 remus建议的测试结果(非常感谢sir的帮助)
最佳答案
您在哪个国家/地区/您使用的是哪个服务提供商?一些服务提供商将拦截图形并根据用户代理降低其质量。尝试使用 SSL (https://
) url 来防止这种情况发生。
您可以通过在所有设备上的 Safari 中加载图像 url 并比较它们来测试这个理论。
关于ios - Swift,来自 URL 的图像 - 在 Ipad 模拟器上质量很好,但在 Iphone 4s 模拟器上质量很差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31349065/