// // LoadingIndicatorImageView.swift // WOKA // // Created by MacBook Pro on 08/05/24. // import UIKit import SDWebImage extension UIImageView { func imageURL(_ url: String, color : UIColor = UIColor.black) { let activityIndicator = UIActivityIndicatorView(style: .medium) activityIndicator.tintColor = UIColor.darkGray activityIndicator.color = color activityIndicator.frame = CGRect(x: 0, y: 0, width: 64, height: 64) activityIndicator.hidesWhenStopped = true DispatchQueue.main.async { activityIndicator.startAnimating() } activityIndicator.translatesAutoresizingMaskIntoConstraints = true // activityIndicator.center = CGPoint(x: self.frame.size.width / 2, y: self.frame.size.height / 2) activityIndicator.center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds)) // bottom is for resizing the indicator to be perfect in center activityIndicator.autoresizingMask = (UIView.AutoresizingMask(rawValue: UIView.AutoresizingMask.RawValue(UInt8(UIView.AutoresizingMask.flexibleRightMargin.rawValue) | UInt8(UIView.AutoresizingMask.flexibleLeftMargin.rawValue) | UInt8(UIView.AutoresizingMask.flexibleBottomMargin.rawValue) | UInt8(UIView.AutoresizingMask.flexibleTopMargin.rawValue)))) self.addSubview(activityIndicator) self.sd_setImage(with: URL(string: url.replacingOccurrences(of: " ", with: "%20"))) { (image, error, cacheType, url) in // activityIndicator.stopAnimating() DispatchQueue.main.async { activityIndicator.stopAnimating() // activityIndicator.removeFromSuperview() } } // } } }