         self.verticalAlignment = .center
         self.horizontalAlignment = .center
         self.source = source
-
         super.init()
     }
 

            }
        }
    }
    public var filter: IQImageLoaderFilter?
    public private(set) var isDownloading: Bool = false
    public var loader: QImageLoader?
    public private(set) var image: UIImage? {
        didSet {
            self.invalidateIntrinsicContentSize()

        self.frame = frame
    }

    open func startDownloading() {
        if self.isDownloading == false {
            if let source = self.source, let loader = self.loader, let url = source.url {
                loader.download(url, filter: self.filter, target: self)
                self.isDownloading = true
            }
        }
    }

    open func stopDownloading() {
        if self.isDownloading == true {
            if let loader = self.loader {
                loader.cancel(self)
            }
            self.isDownloading = false
        }
    }

    open func imageLoader(_ imageLoader: QImageLoader, cacheImage: UIImage) {
        self.image = cacheImage
        self.isDownloading = false
