【问题标题】:Loading images to UITableViewCell and rounding corners using Alamofire使用 Alamofire 将图像加载到 UITableViewCell 和圆角
【发布时间】:2023-03-24 18:20:02
【问题描述】:

Alamofire 有一个非常方便的方法,可以直接从 URL 加载图像作为 UIImageView 扩展。

cell.avatarImageView.af_setImageWithURL(downloadURL)

我还想对图像的角进行圆角处理。 AlamofireImage 也有一个方法可以做到这一点(它是一个 UIImage 扩展),

image.af_imageRoundedIntoCircle()

但是有没有办法同时使用这两种方法?第一种方法直接调用UIImageView 而不是UIImage 所以我无法使用它。

如果我在 af_setImageWithURL 通话之后拨打这样的电话,

cell.avatarImageView.image = cell.avatarImageView.image?.af_imageRoundedIntoCircle()

它仅在 tableView 单元格重绘时有效。它对已经可见的单元格没有影响。

还有其他方法可以实现吗?或者有解决方法吗?

【问题讨论】:

  • 为什么不让 imageView 自己圆润(而不是图像)?
  • 是的,这是真的。但我想知道如何在不改变 imageViewcornerRadius 的情况下将上述方法一起使用。
  • 这是我的确切问题。任何更新 ?谢谢。
  • @EyalBenYehuda 我必须手动完成,而不使用AlamofireImage 的方法。
  • 谢谢,我也对 ImageView 进行了四舍五入:cell.myUIImageView.layer.cornerRadius = cell.myUIImageView.frame.width / 2

标签: ios swift uitableview alamofire alamofireimage


【解决方案1】:

是的,有一种方法:

public func af_setImage(
        withURLRequest urlRequest: URLRequestConvertible,
        placeholderImage: UIImage? = nil,
        filter: ImageFilter? = nil,
        progress: ImageDownloader.ProgressHandler? = nil,
        progressQueue: DispatchQueue = DispatchQueue.main,
        imageTransition: ImageTransition = .noTransition,
        runImageTransitionIfCached: Bool = false,
        completion: ((DataResponse<UIImage>) -> Void)? = nil)

您应该将CircleFilter() 指定为圆形图像视图的filter 参数,如果您想要圆角,则应指定RoundedCornersFilter(radius: CGFloat, divideRadiusByImageScale: Bool)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-11
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    相关资源
    最近更新 更多