             setNeedsDisplay()
         }
     }
+    
+    // MARK: - UITextViewDelegate
+
+    func textViewDidChange(textView: UITextView) {
+        updateTextView()
+    }
 
     func textViewDidEndEditing(textView: UITextView) {
         saveChanges()


        addSubview(textView)
    }

    override func handleDoubleTap(tapGestureRecognizer: UITapGestureRecognizer) {
        textView.becomeFirstResponder()
    }

        super.saveChanges()
    }

    func updateTextView() {
        let heightOffset = textView.contentSize.height - textView.bounds.size.height
        if heightOffset > 0 {
            let origin = frame.origin
