     // MARK: Public Parameters
     //================================================================================
 
-    public var isOn = false {
+    @IBInspectable public var isOn = false {
         didSet { animate() }
     }
 
     /// Change the toggle border on and off
-    public var hasToggleBorder = true {
+    @IBInspectable public var hasToggleBorder = true {
         didSet { circle.layer?.borderWidth = hasToggleBorder ? toggleBorderWidth : 0 }
     }
 
     /// Change the width of the outline border
-    public var outlineWidth: CGFloat = 2 {
+    @IBInspectable public var outlineWidth: CGFloat = 2 {
         didSet {
             backVw.layer?.borderWidth = outlineWidth
             layoutSwitch(resetingLayout: true)

    //================================================================================

    fileprivate let height: CGFloat
    fileprivate let width: CGFloat

    fileprivate var leftConstraint: NSLayoutConstraint?
    fileprivate var heightConstraint: NSLayoutConstraint?


        layoutSwitch()
    }

    fileprivate func layoutSwitch(resetingLayout: Bool = false) {
        if resetingLayout {
