 }
 
 public class NVActivityIndicatorView: UIView {
-    private static let DEFAULT_TYPE: NVActivityIndicatorType = .Pacman
+private static let DEFAULT_TYPE: NVActivityIndicatorType = .Pacman
     private static let DEFAULT_COLOR = UIColor.whiteColor()
     private static let DEFAULT_SIZE: CGSize = CGSize(width: 40, height: 40)
     
     /// Animation type, value of NVActivityIndicatorType enum.
-    public var type: NVActivityIndicatorType
-    
+    public var type: NVActivityIndicatorType = NVActivityIndicatorView.DEFAULT_TYPE
+
+    @available(*, unavailable, message="This property is reserved for Interface Builder. Use 'type' instead.")
+    @IBInspectable var TypeAdapter: Int {
+        get {
+            return self.type.rawValue
+        }
+        set (typeIndex) {
+            self.type = NVActivityIndicatorType(rawValue: typeIndex) ?? self.type
+        }
+    }
+
     /// Color of activity indicator view.
-    public var color: UIColor
-    
-    /// Actual size of animation in view.
-    public var size: CGSize
-    
+    @IBInspectable public var color: UIColor = NVActivityIndicatorView.DEFAULT_COLOR
+
     /// Current status of animation, this is not used to start or stop animation.
     public var animating: Bool = false
     
     /// Specify whether activity indicator view should hide once stopped.
-    public var hidesWhenStopped: Bool = true
+    @IBInspectable public var hidesWhenStopped: Bool = true
     
     /**
      Create a activity indicator view with default type, color and size.\n

 - SemiCircleSpin:          SemiCircleSpin animation.
 - BallRotateChase:         BallRotateChase animation.
 */
public enum NVActivityIndicatorType {
    /**
     Blank.
     

        let animation: protocol<NVActivityIndicatorAnimationDelegate> = self.type.animation()
        
        self.layer.sublayers = nil
        animation.setUpAnimationInLayer(self.layer, size: self.frame.size, color: self.color)
    }
}
