首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在indicatorType的扩展内设置KingFisher v5.0.0中的UIImageView?

如何在indicatorType的扩展内设置KingFisher v5.0.0中的UIImageView?
EN

Stack Overflow用户
提问于 2018-12-13 11:47:09
回答 2查看 2.6K关注 0票数 1

我能够这样做(使用4.10.1版本):

代码语言:javascript
复制
extension UIImageView {
    func test() {
        self.kf.indicatorType = .activity
    }
}

现在,对于5.0.0版本,如果出现以下错误,就不可能这样做了:

无法分配属性:“自我”是不可变的

我仍然可以在分机外正常设置它。是否有一种方法可以从indictorType扩展内部设置UIImageView

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-16 11:12:42

与库的GitHub存储库上的这个问题一样,kf变量现在引用了一个用于Kingfisher性能考虑的结构,因此为了处理它,我们需要为它创建一个副本,如下所示:

代码语言:javascript
复制
extension UIImageView {
    func test() {
        var kf = self.kf
        kf.indicatorType = .activity
    }
}
票数 3
EN

Stack Overflow用户

发布于 2018-12-13 11:59:40

代码语言:javascript
复制
extension UIImageView {
 func setImages(url:String){
    let activityInd = UIActivityIndicatorView()
    activityInd.center = CGPoint(x: self.frame.size.width  / 2,
                                 y: self.frame.size.height / 2)
    activityInd.color = UIColor.red
    self.addSubview(activityInd)
    activityInd.startAnimating()
    self.kf.setImage(with: URL(string: url), placeholder: #imageLiteral(resourceName: "user-icn"), options: nil, progressBlock: nil) { (img, err, cache, url) in
        activityInd.stopAnimating()
    }
}

}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53761169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档