如何将KingFisher库用于资源文件夹Swift中的图像?

时间:2019-01-09 09:09:58

标签: ios swift swift4 assets kingfisher

我正在使用国王费舍尔库,但是我的问题是我不能对存储在资产中的图像使用它-所有的翠鸟方法都需要url,那么如何将其用于资产?

1 个答案:

答案 0 :(得分:0)

在评论中说我们不需要通过翠鸟从资产中加载本地图像的人,有一种情况,例如,当我们在UITableView中加载图像时,如果条件允许我们从远程加载图像URL,在其他情况下,我们从本地资产加载。在这种情况下,如果我们直接使用UIImage(...)方法分配图像,则TableView图像将开始表现异常。因此,我们需要通知Kingfisher,我们已经直接更改了图像,并且在从远程URL加载图像时不对其进行更新。 对于这种情况,您可以使用以下代码

import Kingfisher

 //////// In your cellForRowAt method

if (loadThroughRemoteURL) {
    cell.imageView.kf.setImage(with: URL(string: "YOUR_REMOTE_IMAGE_URL"))
} 
else { // loading through local assets
       let resource: Resource? = nil
       cell.imageView.kf.setImage(with: resource) // inform kingfisher that you are assigning this image by your own
       cell.imageView.image = UIImage(named: "your_image_in_assets")
}