diff --git a/MVMCoreUI/Atomic/Atoms/Views/Star.swift b/MVMCoreUI/Atomic/Atoms/Views/Star.swift index 87e81a72..30ca8e4f 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/Star.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/Star.swift @@ -6,14 +6,13 @@ // Copyright © 2020 Verizon Wireless. All rights reserved. // -import Foundation - @objcMembers open class Star: View { //-------------------------------------------------- // MARK: - Properties //-------------------------------------------------- private var starLayer: CAShapeLayer? + private var progressLayer: CAShapeLayer? private let maskLayer = CAShapeLayer() public var starModel: StarModel? { return model as? StarModel @@ -52,11 +51,10 @@ import Foundation //------------------------------------------------------ open override func draw(_ rect: CGRect) { //Draw progress - let width = bounds.size.width * percent / 100.0 - let progressRect = CGRect(x: 0, y: 0, width: width, height: bounds.height) - fillColor.set() - guard let context = UIGraphicsGetCurrentContext() else { return } - context.fill(progressRect) + progressLayer?.removeFromSuperlayer() + let progress = drawProgress() + layer.addSublayer(progress) + progressLayer = progress //Draw the star starLayer?.removeFromSuperlayer() @@ -70,6 +68,14 @@ import Foundation layer.mask = maskLayer } + func drawProgress() -> CAShapeLayer { + let shapeLayer = CAShapeLayer() + let width = bounds.size.width * percent / 100.0 + shapeLayer.path = UIBezierPath(rect: CGRect(x: 0, y: 0, width: width, height: bounds.height)).cgPath + shapeLayer.fillColor = fillColor.cgColor + return shapeLayer + } + func drawStar() -> CAShapeLayer { let shapeLayer = CAShapeLayer() shapeLayer.frame = bounds diff --git a/MVMCoreUI/Atomic/Atoms/Views/StarModel.swift b/MVMCoreUI/Atomic/Atoms/Views/StarModel.swift index 6ab85a3b..dc404a71 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/StarModel.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/StarModel.swift @@ -6,8 +6,6 @@ // Copyright © 2020 Verizon Wireless. All rights reserved. // -import Foundation - open class StarModel: MoleculeModelProtocol { //-------------------------------------------------- diff --git a/MVMCoreUI/Atomic/Atoms/Views/Stars.swift b/MVMCoreUI/Atomic/Atoms/Views/Stars.swift index 07a78e95..268f955e 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/Stars.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/Stars.swift @@ -6,8 +6,6 @@ // Copyright © 2020 Verizon Wireless. All rights reserved. // -import Foundation - open class Stars: View { //-------------------------------------------------- // MARK: - Properties diff --git a/MVMCoreUI/Atomic/Atoms/Views/StarsModel.swift b/MVMCoreUI/Atomic/Atoms/Views/StarsModel.swift index 27515a64..91470100 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/StarsModel.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/StarsModel.swift @@ -6,8 +6,6 @@ // Copyright © 2020 Verizon Wireless. All rights reserved. // -import Foundation - @objcMembers public class StarsModel: MoleculeModelProtocol { //--------------------------------------------------