         }
     }
 
+    
+    func makeIconDrawViews(from stateNameDict: [NSNumber: String], styleKit: String) {
+        iconDrawViewForStateDict.removeAll()
+        for (stateNumber, drawingName) in stateNameDict {
+            if let drawing = BFWStyleKit.drawing(forStyleKitName: styleKit, drawingName: drawingName) {
+                let icon = DrawingView(frame: drawing.intrinsicFrame)
+                icon.drawing = drawing
+                icon.tintColor = tintColor
+                icon.contentMode = .redraw
+                setIconDrawView(icon, for: UIControlState(rawValue: stateNumber.uintValue))
+            }
+        }
+    }
+    
+    func makeBackgroundDrawViews(from stateNameDict: [NSNumber: String], styleKit: String) {
+        backgroundDrawViewForStateDict.removeAll()
+        for (stateNumber, drawingName) in stateNameDict {
+            let background = DrawingView(frame: self.bounds)
+            background.name = drawingName
+            background.styleKit = styleKit
+            background.contentMode = .redraw
+            setBackgroundDrawView(background,
+                for: UIControlState(rawValue: stateNumber.uintValue))
+        }
+    }
+
+
     // MARK: - UpdateView
     
     private func setNeedsUpdateView() {


import UIKit

@IBDesignable class DrawingButton: BFWDrawButton {

    // MARK: - Variables

    @IBInspectable var iconName: String? {
        didSet {

        if let iconName = iconName,
            let iconStyleKit = iconStyleKit
        {
            makeIconDrawViews(from: [NSNumber(value: UIControlState.normal.rawValue): iconName],
                              styleKit: iconStyleKit)
        }
    }
