如何在Swift中使用Alamofire Image在ImageView上添加UIActivity指示器

sr4lhrrt  于 2023-08-02  发布在  Swift
关注(0)|答案(2)|浏览(112)

我正在使用AlamofireImage库,我想在ImageView上添加一个subview(UIActivityIndicator),直到图像没有下载。却不知道该怎么做

self.imgView_main.af_setImageWithURL(downloadURL)

字符串
图像正在下载。但是如何显示UIActivityIndicator请帮助我

bd1hkmkf

bd1hkmkf1#

您可以使用completion:函数,首先启动activityIndicator并停止指示器,当您在completion块中获得图像时,就像这样。

self.activityIndicator.startAnimating()
self.listImageView.af_setImageWithURL(
    NSURL(string: list!.image!)!,
    placeholderImage: nil,
    filter: nil,
    imageTransition: .CrossDissolve(0.5),
    completion: { response in
        let image = response.result.value // UIImage Object
        self.activityIndicator.stopAnimating()
    }
)

字符串

aydmsdu9

aydmsdu92#

我已经为UIImageView创建了扩展。查看link
上面的链接包含所有必需的方法,并根据您的要求进行必要的更改,以显示和隐藏活动指示器。

func downloadImage(withURL url: URL, placeholderImage: UIImage? = nil, completion: ((AFIDataResponse<UIImage>) -> Void)? = nil) {
    //Show activity indicator
    self.showActivityIndicator()
    self.af.setImage(withURL: url, placeholderImage: placeholderImage, completion: { response in
        if case .success(_) = response.result {
            //Hide activity indicator
            self.hideActivityIndicator()
        }
        
        completion?(response)
    })
}

字符串

相关问题