// // 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 let thickness = Float(json["thickness"] 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.layer.cornerRadius = CGFloat(thickness!/2) self.clipsToBounds = true } 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 == 6 { let scanner = Scanner(string: hexColor) var hexNumber: UInt32 = 0 if scanner.scanHexInt32(&hexNumber) { r = CGFloat((hexNumber & 0xff0000) >> 16) / 255 g = CGFloat((hexNumber & 0x00ff00) >> 8) / 255 b = CGFloat(hexNumber & 0x0000ff) / 255 self.init(red: r, green: g, blue: b, alpha: 1.0) return } } } return nil } }