ios - Swift,来自 URL 的图像 - 在 Ipad 模拟器上质量很好,但在 Iphone 4s 模拟器上质量很差

标签 ios objective-c iphone swift xcode6

我对这件事感到很沮丧。这几天一直在想办法解决这个问题,但无济于事。

问题很明确。我有一个固定宽度和高度 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的帮助)

Ipad2 Simulator

Iphone4S simulator

最佳答案

您在哪个国家/地区/您使用的是哪个服务提供商?一些服务提供商将拦截图形并根据用户代理降低其质量。尝试使用 SSL (https://) url 来防止这种情况发生。

您可以通过在所有设备上的 Safari 中加载图像 url 并比较它们来测试这个理论。

关于ios - Swift,来自 URL 的图像 - 在 Ipad 模拟器上质量很好,但在 Iphone 4s 模拟器上质量很差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31349065/

相关文章:

ios - 具有反应性 objective-c 的 NSManagedObject

javascript - 在 UIWebview 中显示网站中的特定 HTML/Javascript 元素

ios - 无法将关系对象设置为 CoreData 中的另一个对象

objective-c - 拖动 vom NSTableView 的 NSDragOperation 为 -1

iphone - UITap手势识别器

iphone - OpenGL ES 不再显示对象

ios - NSNotificationCenter - 具有不同名称的相同观察者

ios - 锁定 iPhone 时的 Objective-C URL 请求

objective-c - 在 Objective-C 中自动点击 iTunes 鼠标

iphone - 我将 iPhone 应用程序转移到另一个帐户现在我想将应用程序转移到以前的帐户吗?