 @IBDesignable
 public /* non-final */ class ShapeView: View {
 
+	private var originalFillColor: UIColor?
+	private var originalStrokeColor: UIColor?
+
+
 	public override init() {
 		super.init()
+
+		if let layerFillColor = shapeLayer.fillColor {
+			fillColor = UIColor(CGColor: layerFillColor)
+		}
+		if let layerStrokeColor = shapeLayer.strokeColor {
+			strokeColor = UIColor(CGColor: layerStrokeColor)
+		}
 	}
 
 
 	public required init?(coder: NSCoder) {
 		super.init(coder: coder)
+
+		if let layerFillColor = shapeLayer.fillColor {
+			fillColor = UIColor(CGColor: layerFillColor)
+		}
+		if let layerStrokeColor = shapeLayer.strokeColor {
+			strokeColor = UIColor(CGColor: layerStrokeColor)
+		}
 	}
 
 


	@IBInspectable
	public var strokeColor: UIColor? {
		get {
			guard let layerStrokeColor = shapeLayer.strokeColor else {
				return nil
			}

			return UIColor(CGColor: layerStrokeColor)
		}
		set {
			shapeLayer.strokeColor = newValue?.CGColor
		}
	}


			shapeLayer.strokeStart = newValue
		}
	}


	public override func tintColorDidChange() {
		super.tintColorDidChange()

		if let originalFillColor = originalFillColor where originalFillColor.tintAlpha != nil {
			shapeLayer.fillColor = originalFillColor.tintedWithColor(tintColor).CGColor
		}

		if let originalStrokeColor = originalStrokeColor where originalStrokeColor.tintAlpha != nil {
			shapeLayer.strokeColor = originalStrokeColor.tintedWithColor(tintColor).CGColor
		}
	}
}
