Swift - 图像下载问题

时间:2016-06-06 17:05:23

标签: ios swift image constraints haneke

早上好!

我有关于图片下载和约束的设计问题。

我目前使用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!
            }

但显然我想避免出于性能原因/滚动问题(滚动备份会再次下载图像,因为它没有被缓存)。

最好的方法是什么?

谢谢!

0 个答案:

没有答案