Files
Woka_Native_iOS/WOKA/Helpers/LoadingIndicatorImageView.swift

44 lines
1.8 KiB
Swift

//
// 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()
}
}
// }
}
}