     /// The duration of the animation while resizing the text view in seconds. Defaults to `0.1`.
     public var resizeDuration: TimeInterval = 0.1
     
-    private var heightConstraint: NSLayoutConstraint!
+    /// The maximum height that the text view should resize to.
+    ///
+    /// Once the `frame`'s height has reached this value,
+    /// `showsVerticalScrollIndicator` and `isScrollEnabled` are set to `true`.
+    ///
+    /// Once the `frame`'s height is below this value,
+    /// `showsVerticalScrollIndicator` and `isScrollEnabled` are set back to their previous values.
+    ///
+    /// The defualt value is `ResizableHeight.infinite`
+    public var maxResizableHeight: ResizableHeight = .infinite
     
-    private var maxHeight: CGFloat?
-    
-    public var resizeForNumberOfLines: Int = 0 {
-        didSet {
-            guard resizeForNumberOfLines > 0 else { return (maxHeight = nil) }
-            let padding = (textContainer.lineFragmentPadding * 2) + textContainerInset.top + textContainerInset.bottom
-            maxHeight = (font!.lineHeight * CGFloat(resizeForNumberOfLines)) + padding
-        }
-    }
+    /// The minimum height that the text view should resize to.
+    ///
+    /// The defualt value is `ResizableHeight.numberOfLines(1)`
+    public var minResizableHeight: ResizableHeight = .numberOfLines(1)
     
     /// This closure will be called before the text view's `height` is changed.
     /// The parameter is the height that the text view will be updated to as a `CGFloat`.

     */
    
    @objc func didUpdateText(_ sender: AnyObject) {
        let newHeight = heightForCurrentText()
        if let maxHeight = maxHeight, newHeight > maxHeight {
            isScrollEnabled = true
            showsVerticalScrollIndicator = true
            return
        }
        if newHeight != heightConstraint.constant {
            updateHeightConstraint(newHeight)
        }

 A `UITextView` subclass that automatically resizes based on the size of its content text with a smooth animation.
 */
open class ResizingTextView: UITextView {
    
    public enum ResizableHeight {
        case height(CGFloat)
        case numberOfLines(Int)
        case infinite
    }
    
    /*
     *  MARK: - Instance Properties
