SDWebImageSwiftUI - 如果第一个图像失败,如何加载后备图像?

sto*_*mpy 2 image ios sdwebimage swift swiftui

我需要抓取另一张图像,以防第一个图像失败,并且我很难弄清楚如何使用 SDWebImageSwiftUI 执行此操作。

关于如何执行此操作有任何线索吗?

And*_*rew 5

您可以onFailure在 上使用该属性WebImage。像这样的事情可以工作:

import SDWebImageSwiftUI

struct DoubleImageView: View {
    @State var url = URL(string: "https://via.placeholder.com/150x150.jpg")

    var body: some View {
        WebImage(url: url)
            .placeholder(Image(systemName: "person").resizable())
            .onFailure { _ in
                url = URL(string: "https://via.placeholder.com/72x72.jpg")
            }
            .resizable()
            .frame(width: 100, height: 100)
    }
}
Run Code Online (Sandbox Code Playgroud)

只需将初始 url 更改为"https://via.placeholder.com",这将导致加载图像失败,进而更新url并导致使用新的url.