URLImage 从不在 SwiftUI 的小部件应用程序中加载图像 [重复]
Posted
技术标签:
【中文标题】URLImage 从不在 SwiftUI 的小部件应用程序中加载图像 [重复]【英文标题】:URLImage Never Loads Image in Widget App for SwiftUI [duplicate] 【发布时间】:2020-10-01 16:05:01 【问题描述】:ios Widget 的简单代码,我已验证 meme 已加载来自早期 HTTP 请求的 meme.url 值。我还检查了自己打印 url 文本,这也有效,但我无法使用 URLImage 包加载图像。我也尝试过小部件和内容视图,但没有结果。有什么想法吗?
meme.url
是一个可选的 URL 类型。
网址图片:https://github.com/dmytro-anokhin/url-image
注意:更具体地说,占位符确实出现了,但不是来自 url 的图像。 这是一个示例网址:https://i.redd.it/zey35zvw4gq51.jpg
import SwiftUI
import URLImage
struct MemeView: View
let meme: MemeModel
var body: some View
URLImage(meme.url!, placeholder: Image(systemName: "square"))
【问题讨论】:
【参考方案1】:想通了。不需要 URLImage。问题是小部件无法处理异步调用,因此您必须像这样包装它:
struct MemeView: View
var meme: MemeModel
var body: some View
Group
if let url = meme.url!, let imageData = try? Data(contentsOf: url),
let uiImage = UIImage(data: imageData)
Image(uiImage: uiImage)
.resizable()
.aspectRatio(contentMode: .fill)
else
Image("placeholder-image")
【讨论】:
不,你没有想通。您只是从重复的问题中复制粘贴了this answer。 @pawello2222 将其保存为语义圆顶,E.B.白色的!我也复制粘贴了;)抱歉没有具体说明,我发现 URLImage 使用了 widgetkit,因此是同步的,所以我查找了 widgetkit 的问题并找到了答案并对其进行了一些调整。没想到你需要所有这些信息。如果你也想辩论一个忒修斯悖论,尽管我在里面。以上是关于URLImage 从不在 SwiftUI 的小部件应用程序中加载图像 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在使用 swiftui 的小部件中如何获取当前位置? [复制]