mvm_core_ui/MVMCoreUI/Molecules/ProgressBar.swift
2019-05-08 17:20:15 -04:00

64 lines
1.9 KiB
Swift

//
// 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<String,Any>) -> 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
}
}