【发布时间】:2019-09-17 03:45:03
【问题描述】:
我有一个适用于 API JSON 响应的应用程序。只是检索一个简单的项目数组。每个项目都有一个带有高分辨率图像的 url。我正在使用 Kingfisher 获取这些图像并调整为我的 ImageView 大小(放置在我的 MainView 上)
//MainViewController
itemImageMainVC.kf.setImage(
with: URL(string: itemModel.artImage),
options: [
.processor(DownsamplingImageProcessor(size: itemImageMainVC.bounds.size) >> RoundCornerImageProcessor(cornerRadius: 16, targetSize: itemImageMainVC.bounds.size)),
.scaleFactor(UIScreen.main.scale),
.transition(.fade(0.2)),
.cacheOriginalImage
])
这里一切都很好,我在 TableView 内的 MainView 上获得了我的图像,并且它们缓存得很好。但!如果我尝试在 SecondView 上打开并显示相同的图像,但大小不同,我会在 SecondView 上看到相同的过渡动画,所以我猜他们不应该重新开始下载。
//SecondViewController
itemImageSecondVC.kf.setImage(
with: URL(string: itemModel.artImage),
options: [
.processor(DownsamplingImageProcessor(size: itemImageSecondVC.bounds.size) >> RoundCornerImageProcessor(cornerRadius: 16, targetSize: itemImageSecondVC.bounds.size)),
.scaleFactor(UIScreen.main.scale),
.transition(.fade(0.2)),
.cacheOriginalImage
])
itemImageMainVC 和 itemImageSecondVC 的大小不同。
我做错了什么?我只想在 MainView 上下载/显示图像,并在我打开 SecondView 时立即显示它们,而无需重新下载
【问题讨论】:
标签: swift caching kingfisher