             }
         }
     }
-    @IBInspectable var bgAlpha: CGFloat = 0.2 {
-        didSet {
-            updateLayerProperties()
-        }
-    }
-    @IBInspectable var rotate: Double = 0 {
-        didSet {
-            updateLayerProperties()
-        }
-    }
-    @IBInspectable var colorsArray: Bool = false {
-        didSet {
-            updateLayerProperties()
-        }
-    }
-    @IBInspectable var shadowRadius: CGFloat = 0 {
-        didSet {
-            updateLayerProperties()
-        }
-    }
-    @IBInspectable var shadowOpacity: Float = 0.5 {
+    @IBInspectable public var bgAlpha: CGFloat = 0.2 {
+        didSet {
+            updateLayerProperties()
+        }
+    }
+    @IBInspectable public var rotate: Double = 0 {
+        didSet {
+            updateLayerProperties()
+        }
+    }
+    @IBInspectable public var colorsArray: Bool = false {
+        didSet {
+            updateLayerProperties()
+        }
+    }
+    @IBInspectable public var shadowRadius: CGFloat = 0 {
+        didSet {
+            updateLayerProperties()
+        }
+    }
+    @IBInspectable public var shadowOpacity: Float = 0.5 {
         didSet {
             updateLayerProperties()
         }

        case Custom
    }

    @IBInspectable var startColor: UIColor = UIColor.greenColor() {
        didSet {
            updateLayerProperties()
        }
    }

    /// default is nil: endColor is same as startColor
    @IBInspectable var endColor: UIColor {
        get {
            if let _endColor = _endColor {
                return _endColor

            updateLayerProperties()
        }
    }
    @IBInspectable public var bgColor: UIColor? {
        didSet {
            updateLayerProperties()
            setNeedsLayout()
        }
    }

