KingFisher 未下载个人资料图片

问题描述 投票:0回答:1

更新用户名/个人简介时,一切都会正确更新。图像 URL 更新收件箱 Firebase,我可以通过给定的

profileImageUrl
链接下载它,但它不会像其他东西一样在我的 Xcode 模拟器中更新。

附带问题 - 如果不注销并重新登录,信息不会更新。

struct CircularProfileImageView: View {
    let user: User
    let size: ProfileImageSize
    
    var body: some View {
        if let imageUrl = user.profileImageUrl {
            KFImage(URL(string: imageUrl))
                .resizable()
                .scaledToFill()
                .frame(width: size.dimension, height: size.dimension)
                .clipShape(Circle())
        } else {
            Image(systemName: "person.circle.fill")
                .resizable()
                .frame(width: size.dimension, height: size.dimension)
                .clipShape(Circle())
                .foregroundColor(Color(.systemGray4))
        }
    }
}
swift firebase image updates
1个回答
0
投票

您尝试过使用 SwiftUI 的原生 AsyncImage 吗?

 var body: some View {
    let imageURL = URL(string: "https://www.logolynx.com/images/logolynx/d4/d450a47a7a2d69db4603ce0ff0a4b6ff.png")
    
    AsyncImage(url: imageURL) { phase in
        if let image = phase.image {
            // Displays the loaded image.
            image.resizable()
        } else if phase.error != nil {
            // Indicates an error.
            Image(systemName: "person.circle.fill")
        } else {
            // Acts as a placeholder.
            Image(systemName: "person.circle.fill")
        }
    }
    .frame(width: 44.0, height: 44.0)
}

另一个线索可能是将您的对象用户用作@State,因此每次更改用户的属性时,您的 SwiftUI UI 树都会重新加载。

希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.