// // ProgressBar.swift // MVMCoreUI // // Created by Panth Patel on 5/3/19. // Copyright © 2019 Verizon Wireless. All rights reserved. // import Foundation public class ProgressBar: UIProgressView { public func styleprogessbar(json: Dictionary) -> UIProgressView { let percentage = Float(json["percent"] as! String) let barstyle = json["barstyle"] as! Bool let progresscolor = json["progresscolor"] as! String let backgroundcolor = json["backgroundcolor"] as! String self.progressTintColor = UIColor.init(hex: progresscolor) self.trackTintColor = UIColor.init(hex: backgroundcolor) self.progress = percentage!/100 self.frame.size.width = 200 switch barstyle { case true: self.progressViewStyle = .bar default: self.progressViewStyle = .default } return self } } extension UIColor { public convenience init?(hex: String) { let r, g, b, a: CGFloat if hex.hasPrefix("#") { let start = hex.index(hex.startIndex, offsetBy: 1) let hexColor = String(hex[start...]) if hexColor.count == 8 { let scanner = Scanner(string: hexColor) var hexNumber: UInt64 = 0 if scanner.scanHexInt64(&hexNumber) { r = CGFloat((hexNumber & 0xff000000) >> 24) / 255 g = CGFloat((hexNumber & 0x00ff0000) >> 16) / 255 b = CGFloat((hexNumber & 0x0000ff00) >> 8) / 255 a = CGFloat(hexNumber & 0x000000ff) / 255 self.init(red: r, green: g, blue: b, alpha: a) return } } } return nil } }