             availableWidthForTextField = rightBoundary - curX
         }
 
-        var textFieldRect: CGRect = self.textField.frame
-        textFieldRect.origin.x = curX
-        textFieldRect.origin.y = curY
-        textFieldRect.size.width = availableWidthForTextField
-        textFieldRect.size.height = WSTagsField.STANDARD_ROW_HEIGHT
+        var textFieldRect: CGRect
+        if textField.enabled {
+            textFieldRect = self.textField.frame
+            textFieldRect.origin.x = curX
+            textFieldRect.origin.y = curY
+            textFieldRect.size.width = availableWidthForTextField
+            textFieldRect.size.height = WSTagsField.STANDARD_ROW_HEIGHT
+        }
+        else {
+            textFieldRect = CGRect.zero
+            textField.hidden = true
+        }
         self.textField.frame = textFieldRect
 
         let oldContentHeight: CGFloat = self.intrinsicContentHeight

        }
    }

    public var padding: UIEdgeInsets = UIEdgeInsets(top: 10.0, left: 8.0, bottom: 10.0, right: 16.0) {
        didSet {
            repositionViews()


    // MARK: - Tag selection

    public func selectTagView(tagView: WSTagView, animated: Bool = false) {
        if self.readOnly {
            return
        }
        tagView.selected = true
        tagViews.forEach() { item in
            if item != tagView {
