     }
   }
   
+  /// Button on image.
+  @IBInspectable
+  open var buttonOnImage: UIImage? {
+    didSet {
+      styleForState(state: switchState)
+    }
+  }
+  
+  /// Button off image.
+  @IBInspectable
+  open var buttonOffImage: UIImage? {
+    didSet {
+      styleForState(state: switchState)
+    }
+  }
+  
   /// Track on color.
   @IBInspectable
   open var trackOnColor = Color.clear {

    if .on == state {
      button.backgroundColor = buttonOnDisabledColor
      track.backgroundColor = trackOnDisabledColor
    } else {
      button.backgroundColor = buttonOffDisabledColor
      track.backgroundColor = trackOffDisabledColor
    }
  }
  

      styleForState(state: switchState)
    }
  }
  
  /// Button on disabled image.
  @IBInspectable
  open var buttonOnDisabledImage: UIImage? {
    didSet {
      styleForState(state: switchState)
    }
  }
  
  /// Button off disabled image.
  @IBInspectable
  open var buttonOffDisabledImage: UIImage? {
    didSet {
      styleForState(state: switchState)
    }
  }
  
  
  /// Track view reference.
  open fileprivate(set) var track: UIView {
