我目前正在尝试找到一种方法来保存图像AsyncImage,以便我可以立即缓存它(无需使用单独的图像检索过程)。
这是我的代码和我用来尝试保存它的AsyncImage扩展。View
AsyncImage(url: asyncUrl) { phase in
switch phase {
case .empty:
ProgressView()
case .success(let image):
image
.resizable()
.scaledToFit()
urlImageModel.image = image.snapshot()
case .failure:
Image(uiImage: UrlImageView.defaultImage!)
.resizable()
.scaledToFit()
@unknown default:
Image(uiImage: UrlImageView.defaultImage!)
.resizable()
.scaledToFit()
}
}
extension View {
func snapshot() -> UIImage {
let controller = UIHostingController(rootView: self)
let view = controller.view
let targetSize = controller.view.intrinsicContentSize
view?.bounds = CGRect(origin: .zero, size: targetSize)
view?.backgroundColor = .clear
let renderer = UIGraphicsImageRenderer(size: targetSize)
return renderer.image { _ …Run Code Online (Sandbox Code Playgroud) 我刚刚更新到Xcode 7和Swift 2.0,当然它在我的应用程序中引起了一些问题.我已经解决了很多问题,但我正在努力解决这个问题.
在我的表视图中,我正在从Parse.com加载图像,但由于某种原因,图像没有显示在AsyncImageView中.这段代码在更新之前完美运行,所以我不确定问题是什么:
AsyncImageLoader.sharedLoader().cancelLoadingURL(cell.rideImageView.imageURL)
cell.rideImageView.image = UIImage(named: "Unloaded")
cell.rideImageView.imageURL = NSURL(string: ride.rideImageSmall!)
Run Code Online (Sandbox Code Playgroud)
我已经检查过以确保从Parse正确加载图像URL,确实如此.这是我正在使用的库:https://github.com/nicklockwood/AsyncImageView
有人有主意吗?