【问题标题】:Bar button item not appearing with image条形按钮项目未与图像一起出现
【发布时间】:2023-03-14 15:45:01
【问题描述】:

我正在尝试将个人资料图片设置为条形按钮项。图片来自使用 SDWebImage 的 URL。当我运行该应用程序时,该项目显示为一个白框,并且所有其他右栏按钮项目都向左移动。有人知道我做错了什么吗?或者是否有更好的方法来做到这一点?

    @IBOutlet weak var myAvatarButton: UIBarButtonItem! {
    didSet {
        // call in "my user"
        guard let userImageURL = CurrentUser.shared.imageURL else {
            return
        }
        let avatarImage = UIImageView()
        avatarImage.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
        avatarImage.sd_setImage(with: userImageURL, placeholderImage: #imageLiteral(resourceName: "placeholder"), options: [.refreshCached, .retryFailed], completed: nil)
        myAvatarButton.image = avatarImage.image
    }
}

第一张照片如模拟器所示,第二张照片来自情节提要。

【问题讨论】:

  • 确保没有背景颜色填充,这可能是问题的根源

标签: ios swift uibarbuttonitem sdwebimage


【解决方案1】:

使用完成块。您是直接将图像设置为按钮图像,但下载图像需要时间。

avatarImage.sd_setImage(with: userImageURL, placeholderImage: #imageLiteral(resourceName: "placeholder"), options: [.refreshCached, .retryFailed]) { (image, error, type, url) in
    if let image = image {
        myAvatarButton.image = image
    }
}

【讨论】:

  • 谢谢!完成块并在最后一行添加 .withRenderingMode(UIImage.RenderingMode.alwaysOriginal) 修复了这个
猜你喜欢
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 1970-01-01
  • 2019-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多