From d535e9190bd9c2f50566aa52860e846986d66706 Mon Sep 17 00:00:00 2001 From: Panth Patel Date: Thu, 16 May 2019 15:47:58 -0400 Subject: [PATCH] ProgressBar Changes --- MVMCoreUI/Molecules/ProgressBar.swift.orig | 53 ------- .../ProgressBarView_BACKUP_31500.swift | 142 ------------------ .../ProgressBarView_BASE_31500.swift | 78 ---------- .../ProgressBarView_LOCAL_31500.swift | 115 -------------- .../ProgressBarView_REMOTE_31500.swift | 67 --------- MVMCoreUI/Molecules/ProgressUI.swift | 68 --------- 6 files changed, 523 deletions(-) delete mode 100644 MVMCoreUI/Molecules/ProgressBar.swift.orig delete mode 100644 MVMCoreUI/Molecules/ProgressBarView_BACKUP_31500.swift delete mode 100644 MVMCoreUI/Molecules/ProgressBarView_BASE_31500.swift delete mode 100644 MVMCoreUI/Molecules/ProgressBarView_LOCAL_31500.swift delete mode 100644 MVMCoreUI/Molecules/ProgressBarView_REMOTE_31500.swift delete mode 100644 MVMCoreUI/Molecules/ProgressUI.swift diff --git a/MVMCoreUI/Molecules/ProgressBar.swift.orig b/MVMCoreUI/Molecules/ProgressBar.swift.orig deleted file mode 100644 index dbf0fac5..00000000 --- a/MVMCoreUI/Molecules/ProgressBar.swift.orig +++ /dev/null @@ -1,53 +0,0 @@ -// -// 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: [AnyHashable: Any]?) { -<<<<<<< HEAD - -======= - ->>>>>>> 2bd55296b8719159ed079c15651de2c59a687d6f - var barstyle = Bool() - var progresscolor = String() - var backgroundcolor = String() - - let thickness = json?.floatFromStringForKey("thickness") - let percentage = json?.floatFromStringForKey("percent") - - if let backgroundcolorUnwrapped = json?.optionalStringForKey("backgroundColor") { - backgroundcolor = backgroundcolorUnwrapped - } - if let progresscolorUnwrapped = json?.optionalStringForKey("progressColor") { - progresscolor = progresscolorUnwrapped - } - if let barStyleUnwrapped = json?["barStyle"] as? Bool { - barstyle = barStyleUnwrapped - } - progressTintColor = UIColor.mfGet(forHex: progresscolor) - trackTintColor = UIColor.mfGet(forHex: backgroundcolor) - progress = (percentage ?? Float(PaddingThree))/100 - - switch barstyle { - case true: - progressViewStyle = .bar - default: - layer.cornerRadius = CGFloat((thickness ?? Float(PaddingTwo))/2) - clipsToBounds = true - } -<<<<<<< HEAD - } -======= - - } - ->>>>>>> 2bd55296b8719159ed079c15651de2c59a687d6f -} diff --git a/MVMCoreUI/Molecules/ProgressBarView_BACKUP_31500.swift b/MVMCoreUI/Molecules/ProgressBarView_BACKUP_31500.swift deleted file mode 100644 index a22733b3..00000000 --- a/MVMCoreUI/Molecules/ProgressBarView_BACKUP_31500.swift +++ /dev/null @@ -1,142 +0,0 @@ -// -// ProgressBarView.swift -// MVMCoreUI -// -// Created by Panth Patel on 5/3/19. -// Copyright © 2019 Verizon Wireless. All rights reserved. -// - -import UIKit - -@objcMembers open class ProgressBarView: ViewConstrainingView { - - var progress = ProgressBar() - var topleftlabel = Label() - var toprightlabel = Label() - var bottomleftlabel = Label() - var bottomrightlabel = Label() - var thickness: Float? - - public init() { - super.init(frame: .zero) - } - - public override init(frame: CGRect) { - super.init(frame: frame) - } - - required public init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - - open override func updateView(_ size: CGFloat) { - super.updateView(size) - } - - open override func needsToBeConstrained() -> Bool { - return true - } - - open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: DelegateObject?, additionalData: [AnyHashable: Any]?) { - super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) - progress.styleprogessbar(json: json) - let thickness = json?.floatFromStringForKey("thickness") -<<<<<<< HEAD - let topleftlabeljson = json?.optionalDictionaryForKey("label") - let toprightlabeljson = json?.optionalDictionaryForKey("toprightlabel") - let bottomleftlabeljson = json?.optionalDictionaryForKey("bottomleftlabel") - let bottomrightlabeljson = json?.optionalDictionaryForKey("bottomrightlabel") - - topleftlabel.setWithJSON(topleftlabeljson, delegateObject: delegateObject, additionalData: additionalData) - toprightlabel.setWithJSON(toprightlabeljson, delegateObject: delegateObject, additionalData: additionalData) - bottomleftlabel.setWithJSON(bottomleftlabeljson, delegateObject: delegateObject, additionalData: additionalData) - bottomrightlabel.setWithJSON(bottomrightlabeljson, delegateObject: delegateObject, additionalData: additionalData) -======= - let textlabeljson = json?.optionalDictionaryForKey("label") - - descriptionLabel.setWithJSON(textlabeljson, delegateObject: delegateObject, additionalData: additionalData) ->>>>>>> 2bd55296b8719159ed079c15651de2c59a687d6f - progress.heightAnchor.constraint(equalToConstant: CGFloat(thickness ?? Float(PaddingTwo))).isActive = true - } - - override open func setupView() { - super.setupView() -<<<<<<< HEAD - addSubview(topleftlabel) - addSubview(toprightlabel) - addSubview(bottomleftlabel) - addSubview(bottomrightlabel) -======= - addSubview(descriptionLabel) ->>>>>>> 2bd55296b8719159ed079c15651de2c59a687d6f - addSubview(progress) - - let vericalSpacing = MFStyler.defaultVerticalPaddingForApplicationWidth() - progress.translatesAutoresizingMaskIntoConstraints = false -<<<<<<< HEAD - - topleftlabel.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - topleftlabel.topAnchor.constraint(equalTo: self.topAnchor).isActive = true - let topleftconstarint = NSLayoutConstraint(item: topleftlabel, attribute: .width, relatedBy: .equal, toItem: self, attribute: .width, multiplier: 0.5, constant: 0.0) - topleftconstarint.priority = UILayoutPriority(rawValue: 100) - topleftconstarint.isActive = true - topleftlabel.setContentHuggingPriority(UILayoutPriority(801), for: .horizontal) - topleftlabel.setContentHuggingPriority(UILayoutPriority(801), for: .vertical) - NSLayoutConstraint(item: toprightlabel, attribute: .leading, relatedBy: .equal, toItem: topleftlabel, attribute: .trailing, multiplier: 1.0, constant: PaddingTwo).isActive = true - toprightlabel.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - toprightlabel.topAnchor.constraint(equalTo: self.topAnchor).isActive = true - toprightlabel.textAlignment = .right - let toprightconstraint = NSLayoutConstraint(item: toprightlabel, attribute: .width, relatedBy: .equal, toItem: self, attribute: .width, multiplier: 0.5, constant: 0.0) - toprightconstraint.priority = UILayoutPriority(rawValue: 100) - toprightconstraint.isActive = true - toprightlabel.setContentHuggingPriority(UILayoutPriority(1000), for: .horizontal) - toprightlabel.setContentHuggingPriority(UILayoutPriority(802), for: .vertical) - - let progressconstraintone = NSLayoutConstraint(item: progress, attribute: .top, relatedBy: .equal, toItem: topleftlabel, attribute: .bottom, multiplier: 1.0, constant: PaddingTwo) - progressconstraintone.priority = UILayoutPriority(rawValue: 700) - progressconstraintone.isActive = true - let progressconstrainttwo = NSLayoutConstraint(item: progress, attribute: .top, relatedBy: .greaterThanOrEqual, toItem: toprightlabel, attribute: .bottom, multiplier: 1.0, constant: PaddingTwo) - progressconstrainttwo.priority = UILayoutPriority(rawValue: 1000) - progressconstrainttwo.isActive = true - progress.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - progress.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - - bottomleftlabel.topAnchor.constraint(equalTo: progress.bottomAnchor, constant: PaddingTwo).isActive = true - bottomleftlabel.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - let bottomleftconstraint = NSLayoutConstraint(item: bottomleftlabel, attribute: .width, relatedBy: .equal, toItem: self, attribute: .width, multiplier: 0.5, constant: 0.0) - bottomleftconstraint.priority = UILayoutPriority(100) - bottomleftconstraint.isActive = true - bottomleftlabel.setContentHuggingPriority(UILayoutPriority(900), for: .horizontal) - bottomleftlabel.setContentHuggingPriority(UILayoutPriority(850), for: .vertical) - NSLayoutConstraint(item: bottomrightlabel, attribute: .leading, relatedBy: .equal, toItem: bottomleftlabel, attribute: .trailing, multiplier: 1.0, constant: PaddingTwo).isActive = true - bottomrightlabel.topAnchor.constraint(equalTo: progress.bottomAnchor, constant: PaddingTwo).isActive = true - bottomrightlabel.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - let bottomrightconstraint = NSLayoutConstraint(item: bottomrightlabel, attribute: .width, relatedBy: .equal, toItem: self, attribute: .width, multiplier: 0.5, constant: 0.0) - bottomrightconstraint.priority = UILayoutPriority(100) - bottomrightconstraint.isActive = true - bottomrightlabel.textAlignment = .right - bottomrightlabel.setContentHuggingPriority(UILayoutPriority(1000), for: .horizontal) - bottomrightlabel.setContentHuggingPriority(UILayoutPriority(851), for: .vertical) - } -} - - - - - - -======= - descriptionLabel.translatesAutoresizingMaskIntoConstraints = false - - descriptionLabel.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - descriptionLabel.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - descriptionLabel.topAnchor.constraint(equalTo: self.topAnchor).isActive = true - progress.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - progress.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - progress.topAnchor.constraint(equalTo: descriptionLabel.bottomAnchor, constant: vericalSpacing).isActive = true - progress.bottomAnchor.constraint(equalTo: self.bottomAnchor).isActive = true - } - - -} ->>>>>>> 2bd55296b8719159ed079c15651de2c59a687d6f diff --git a/MVMCoreUI/Molecules/ProgressBarView_BASE_31500.swift b/MVMCoreUI/Molecules/ProgressBarView_BASE_31500.swift deleted file mode 100644 index 61cdde7b..00000000 --- a/MVMCoreUI/Molecules/ProgressBarView_BASE_31500.swift +++ /dev/null @@ -1,78 +0,0 @@ -// -// ProgressBarView.swift -// MVMCoreUI -// -// Created by Panth Patel on 5/3/19. -// Copyright © 2019 Verizon Wireless. All rights reserved. -// - -import UIKit - -@objcMembers open class ProgressBarView: ViewConstrainingView { - - var progress = ProgressBar() - var descriptionLabel = Label() - var thickness: Float? - - public init() { - super.init(frame: .zero) - } - - public override init(frame: CGRect) { - super.init(frame: frame) - } - - required public init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - - open override func updateView(_ size: CGFloat) { - super.updateView(size) - } - - open override func needsToBeConstrained() -> Bool { - return true - } - - open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: DelegateObject?, additionalData: [AnyHashable: Any]?) { - - super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) - - if let jsonUnwrapped = json as? Dictionary { - progress.styleprogessbar(json: jsonUnwrapped) - } - - let textlabeljson = json!["label"] as! Dictionary //UILabel.init(frame: CGRect(x:0, y:0, width: 300, height: 300)) - self.descriptionLabel.setWithJSON(textlabeljson, delegateObject: delegateObject, additionalData: additionalData) - thickness = Float(json!["thickness"] as! String) - // thickness = 20.0 - } - - override open func setupView() { - super.setupView() - translatesAutoresizingMaskIntoConstraints = false - addSubview(descriptionLabel) - addSubview(progress) - - progress.translatesAutoresizingMaskIntoConstraints = false - descriptionLabel.translatesAutoresizingMaskIntoConstraints = false - - let vericalSpacing = MFStyler.defaultVerticalPaddingForApplicationWidth() - - descriptionLabel.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - descriptionLabel.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - descriptionLabel.topAnchor.constraint(equalTo: self.topAnchor).isActive = true - descriptionLabel.numberOfLines = 0 - descriptionLabel.sizeToFit() - - progress.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - progress.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - progress.heightAnchor.constraint(equalToConstant: 20).isActive = true - progress.topAnchor.constraint(equalTo: descriptionLabel.bottomAnchor, constant: vericalSpacing).isActive = true - progress.bottomAnchor.constraint(equalTo: self.bottomAnchor).isActive = true - - - } - - -} diff --git a/MVMCoreUI/Molecules/ProgressBarView_LOCAL_31500.swift b/MVMCoreUI/Molecules/ProgressBarView_LOCAL_31500.swift deleted file mode 100644 index 25fd0c23..00000000 --- a/MVMCoreUI/Molecules/ProgressBarView_LOCAL_31500.swift +++ /dev/null @@ -1,115 +0,0 @@ -// -// ProgressBarView.swift -// MVMCoreUI -// -// Created by Panth Patel on 5/3/19. -// Copyright © 2019 Verizon Wireless. All rights reserved. -// - -import UIKit - -@objcMembers open class ProgressBarView: ViewConstrainingView { - - var progress = ProgressBar() - var topleftlabel = Label() - var toprightlabel = Label() - var bottomleftlabel = Label() - var bottomrightlabel = Label() - var thickness: Float? - - public init() { - super.init(frame: .zero) - } - - public override init(frame: CGRect) { - super.init(frame: frame) - } - - required public init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - - open override func updateView(_ size: CGFloat) { - super.updateView(size) - } - - open override func needsToBeConstrained() -> Bool { - return true - } - - open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: DelegateObject?, additionalData: [AnyHashable: Any]?) { - super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) - progress.styleprogessbar(json: json) - let thickness = json?.floatFromStringForKey("thickness") - let topleftlabeljson = json?.optionalDictionaryForKey("label") - let toprightlabeljson = json?.optionalDictionaryForKey("toprightlabel") - let bottomleftlabeljson = json?.optionalDictionaryForKey("bottomleftlabel") - let bottomrightlabeljson = json?.optionalDictionaryForKey("bottomrightlabel") - - topleftlabel.setWithJSON(topleftlabeljson, delegateObject: delegateObject, additionalData: additionalData) - toprightlabel.setWithJSON(toprightlabeljson, delegateObject: delegateObject, additionalData: additionalData) - bottomleftlabel.setWithJSON(bottomleftlabeljson, delegateObject: delegateObject, additionalData: additionalData) - bottomrightlabel.setWithJSON(bottomrightlabeljson, delegateObject: delegateObject, additionalData: additionalData) - progress.heightAnchor.constraint(equalToConstant: CGFloat(thickness ?? Float(PaddingTwo))).isActive = true - } - - override open func setupView() { - super.setupView() - addSubview(topleftlabel) - addSubview(toprightlabel) - addSubview(bottomleftlabel) - addSubview(bottomrightlabel) - addSubview(progress) - - progress.translatesAutoresizingMaskIntoConstraints = false - - topleftlabel.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - topleftlabel.topAnchor.constraint(equalTo: self.topAnchor).isActive = true - let topleftconstarint = NSLayoutConstraint(item: topleftlabel, attribute: .width, relatedBy: .equal, toItem: self, attribute: .width, multiplier: 0.5, constant: 0.0) - topleftconstarint.priority = UILayoutPriority(rawValue: 100) - topleftconstarint.isActive = true - topleftlabel.setContentHuggingPriority(UILayoutPriority(801), for: .horizontal) - topleftlabel.setContentHuggingPriority(UILayoutPriority(801), for: .vertical) - NSLayoutConstraint(item: toprightlabel, attribute: .leading, relatedBy: .equal, toItem: topleftlabel, attribute: .trailing, multiplier: 1.0, constant: PaddingTwo).isActive = true - toprightlabel.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - toprightlabel.topAnchor.constraint(equalTo: self.topAnchor).isActive = true - toprightlabel.textAlignment = .right - let toprightconstraint = NSLayoutConstraint(item: toprightlabel, attribute: .width, relatedBy: .equal, toItem: self, attribute: .width, multiplier: 0.5, constant: 0.0) - toprightconstraint.priority = UILayoutPriority(rawValue: 100) - toprightconstraint.isActive = true - toprightlabel.setContentHuggingPriority(UILayoutPriority(1000), for: .horizontal) - toprightlabel.setContentHuggingPriority(UILayoutPriority(802), for: .vertical) - - let progressconstraintone = NSLayoutConstraint(item: progress, attribute: .top, relatedBy: .equal, toItem: topleftlabel, attribute: .bottom, multiplier: 1.0, constant: PaddingTwo) - progressconstraintone.priority = UILayoutPriority(rawValue: 700) - progressconstraintone.isActive = true - let progressconstrainttwo = NSLayoutConstraint(item: progress, attribute: .top, relatedBy: .greaterThanOrEqual, toItem: toprightlabel, attribute: .bottom, multiplier: 1.0, constant: PaddingTwo) - progressconstrainttwo.priority = UILayoutPriority(rawValue: 1000) - progressconstrainttwo.isActive = true - progress.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - progress.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - - bottomleftlabel.topAnchor.constraint(equalTo: progress.bottomAnchor, constant: PaddingTwo).isActive = true - bottomleftlabel.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - let bottomleftconstraint = NSLayoutConstraint(item: bottomleftlabel, attribute: .width, relatedBy: .equal, toItem: self, attribute: .width, multiplier: 0.5, constant: 0.0) - bottomleftconstraint.priority = UILayoutPriority(100) - bottomleftconstraint.isActive = true - bottomleftlabel.setContentHuggingPriority(UILayoutPriority(900), for: .horizontal) - bottomleftlabel.setContentHuggingPriority(UILayoutPriority(850), for: .vertical) - NSLayoutConstraint(item: bottomrightlabel, attribute: .leading, relatedBy: .equal, toItem: bottomleftlabel, attribute: .trailing, multiplier: 1.0, constant: PaddingTwo).isActive = true - bottomrightlabel.topAnchor.constraint(equalTo: progress.bottomAnchor, constant: PaddingTwo).isActive = true - bottomrightlabel.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - let bottomrightconstraint = NSLayoutConstraint(item: bottomrightlabel, attribute: .width, relatedBy: .equal, toItem: self, attribute: .width, multiplier: 0.5, constant: 0.0) - bottomrightconstraint.priority = UILayoutPriority(100) - bottomrightconstraint.isActive = true - bottomrightlabel.textAlignment = .right - bottomrightlabel.setContentHuggingPriority(UILayoutPriority(1000), for: .horizontal) - bottomrightlabel.setContentHuggingPriority(UILayoutPriority(851), for: .vertical) - } -} - - - - - - diff --git a/MVMCoreUI/Molecules/ProgressBarView_REMOTE_31500.swift b/MVMCoreUI/Molecules/ProgressBarView_REMOTE_31500.swift deleted file mode 100644 index 4abb7e52..00000000 --- a/MVMCoreUI/Molecules/ProgressBarView_REMOTE_31500.swift +++ /dev/null @@ -1,67 +0,0 @@ -// -// ProgressBarView.swift -// MVMCoreUI -// -// Created by Panth Patel on 5/3/19. -// Copyright © 2019 Verizon Wireless. All rights reserved. -// - -import UIKit - -@objcMembers open class ProgressBarView: ViewConstrainingView { - - var progress = ProgressBar() - var descriptionLabel = Label() - var thickness: Float? - - public init() { - super.init(frame: .zero) - } - - public override init(frame: CGRect) { - super.init(frame: frame) - } - - required public init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - - open override func updateView(_ size: CGFloat) { - super.updateView(size) - } - - open override func needsToBeConstrained() -> Bool { - return true - } - - open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: DelegateObject?, additionalData: [AnyHashable: Any]?) { - - super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) - progress.styleprogessbar(json: json) - let thickness = json?.floatFromStringForKey("thickness") - let textlabeljson = json?.optionalDictionaryForKey("label") - - descriptionLabel.setWithJSON(textlabeljson, delegateObject: delegateObject, additionalData: additionalData) - progress.heightAnchor.constraint(equalToConstant: CGFloat(thickness ?? Float(PaddingTwo))).isActive = true - } - - override open func setupView() { - super.setupView() - addSubview(descriptionLabel) - addSubview(progress) - - let vericalSpacing = MFStyler.defaultVerticalPaddingForApplicationWidth() - progress.translatesAutoresizingMaskIntoConstraints = false - descriptionLabel.translatesAutoresizingMaskIntoConstraints = false - - descriptionLabel.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - descriptionLabel.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - descriptionLabel.topAnchor.constraint(equalTo: self.topAnchor).isActive = true - progress.leftAnchor.constraint(equalTo: self.leftAnchor).isActive = true - progress.rightAnchor.constraint(equalTo: self.rightAnchor).isActive = true - progress.topAnchor.constraint(equalTo: descriptionLabel.bottomAnchor, constant: vericalSpacing).isActive = true - progress.bottomAnchor.constraint(equalTo: self.bottomAnchor).isActive = true - } - - -} diff --git a/MVMCoreUI/Molecules/ProgressUI.swift b/MVMCoreUI/Molecules/ProgressUI.swift deleted file mode 100644 index 4457e5de..00000000 --- a/MVMCoreUI/Molecules/ProgressUI.swift +++ /dev/null @@ -1,68 +0,0 @@ -// -// 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 - } -} - - - - - -