¿Cómo cambiar la altura de TextView dinámicamente a un umbral y luego permitir el desplazamiento?

Tengo un TextView que tiene una restricción de altura mínima de 33. El desplazamiento está desactivado desde el guión gráfico. TextView debería aumentar en altura según el contenido hasta que alcance la altura máxima de 100. Luego, cambio el scrollEnabled a verdadero y la altura de TextView a la altura máxima de 100, pero la altura cambia a 33. ¿Cómo puedo solucionarlo? ¿este problema?

import UIKit

class ViewController: UIViewController, UITextViewDelegate {

@IBOutlet weak var messageTextView: UITextView!
let messageTextViewMaxHeight: CGFloat = 100

override func viewDidLoad() {
    super.viewDidLoad()
    self.messageTextView.delegate = self
}

func textViewDidChange(textView: UITextView) {

    if textView.frame.size.height >= self.messageTextViewMaxHeight {
        textView.scrollEnabled = true
        textView.frame.size.height = self.messageTextViewMaxHeight
    } else {
        textView.scrollEnabled = false
    }
}
}

Respuestas a la pregunta(5)

Su respuesta a la pregunta