早上好!
我有关于图片下载和约束的设计问题。
我目前使用Haneke在后台下载我的图片。它有点像魅力,但我有很多不同的图像尺寸格式(我一次显示一个图像)。
所以我的问题是我根据它的比例调整图像以适应不同的尺寸。它工作得很好:
if let url = NSURL(string: coverPhoto.url) {
self.coverImageView?.hnk_setImageFromURL(url,format: nil, failure: nil,success: { image in
// Screen Width
let screen_width = UIScreen.mainScreen().bounds.width
// Ratio Width / Height
let ratio = image.size.height / image.size.width
// Calculated Height for the picture
let newHeight = screen_width * ratio
self.__coverImageViewHeightLayoutConstraint?.constant = newHeight
self.coverImageView?.image = image
})
}
我使用Prototype单元格来显示我的内容。 因此,当完成该代码时,我重新加载封面图像单元格以应用/更新新布局。到目前为止一直很好!!
但我的问题是当图像看起来不太好并且正在调整大小时,需要花费一点时间来应用新约束,这会导致奇怪/不好看的UI,因为你可以看到它发生了:= /
我正在使用的另一种方法是简单地同步加载图像:
if let dataUrl = NSData(contentsOfURL: url)
{
let image = UIImage(data: dataUrl)
// Screen Width
let screen_width = UIScreen.mainScreen().bounds.width
// Ratio Width / Height
let ratio = image!.size.height / image!.size.width
// Calculated Height for the picture
let newHeight = screen_width * ratio
self.__coverImageViewHeightLayoutConstraint?.constant = newHeight
self.coverImageView!.image = image!
}
但显然我想避免出于性能原因/滚动问题(滚动备份会再次下载图像,因为它没有被缓存)。
最好的方法是什么?
谢谢!