     
     private var disclosureIndicatorImageView: UIImageView!
     
-    // MARK: - Properties
+    // MARK: - @IBInspectable Properties
+    
+    @IBInspectable public var placeholder: String? {
+        get {
+            return placeholderLabel.text
+        }
+        set {
+            placeholderLabel.text = newValue
+        }
+    }
+    
+    @IBInspectable public var isLeftTextAlignment: Bool {
+        get {
+            return textField.textAlignment == .left
+        }
+        set {
+            let alignment: NSTextAlignment = newValue ? .left : .center
+            textField.textAlignment = alignment
+            placeholderLabel.textAlignment = alignment
+        }
+    }
+    
+    @IBInspectable public var placeholderTopColor: UIColor = UIColor.gray
+    @IBInspectable public var placeholderBottomColor: UIColor = UIColor.gray
+    
+    @IBInspectable public var enteredTextColor: UIColor {
+        get { return textField.textColor ?? UIColor.black }
+        set { textField.textColor = newValue }
+    }
+    
+    @IBInspectable public var lineColor: UIColor {
+        get { return lineView.backgroundColor ?? UIColor.gray }
+        set { lineView.backgroundColor = newValue }
+    }
+    
+    // MARK: - Public Properties
     
     public var text: String? {
         get {

            layoutSubviews()
        }
    }
    
    @IBInspectable public var placeholder: String? {
        get {
            return placeholderLabel.text
        }
        set {
            placeholderLabel.text = newValue
        }
    }
    
    public var font: UIFont? {
        get {
            return placeholderLabel.font

    public var selectedDate: Date?
    public var dateFormat: String = Constants.defaultDateFormat
    
    // MARK: - Static Properties
    
    static public let doneTitle: String = Constants.done
    static public let animationDuration: TimeInterval = 0.3
