¿Cómo crear un campo / label de text expandible en swift?

Necesito averiguar cómo progtwigr algo así: introduzca la descripción de la imagen aquí

El text se expande cuando el usuario hace clic en el button hacia abajo y vuelve a doblar a la versión corta después de hacer clic hacia arriba. ¿Hay bibliotecas que pueda estudiar? Soy un principiante en progtwigción y solo necesito consejos sobre cómo abordar esta tarea, qué guías estudiar, etc.

Todo lo que tiene que hacer es configurar inicialmente el UILabel para que tenga un UILabel de UILabel de UILabel say 7 y el modo de interrupción de línea para que sea .byTruncatingTail .

A continuación, click el button simplemente cambie el número de numberOfLines a 0 y el modo de interrupción de línea para que sea .byWordWrapping . Luego, cuando desee ocultar el text, simplemente presione el button y establezca la UILabel en sus valores iniciales.

Para resolver este problema, lea sobre AutoLayout . Este es un pequeño ejemplo de cómo es posible hacerlo.

Esto es parte de encoding. Esta class contiene IBOutlet para la altura de UITextView y la acción del button.

 class ViewController: UIViewController { let defaultHeight = 128 let expectedHeight = 600 var state: Bool = false @IBOutlet weak var height: NSLayoutConstraint! @IBAction func showAction(_ sender: Any) { UIView.animate(withDuration: 0.3, animations: { self.state = !self.state self.height.constant = CGFloat(self.state ? self.expectedHeight: self.defaultHeight) self.view.layoutIfNeeded() }) } } 

Esto es de storyboard.

introduzca la descripción de la imagen aquí

Puede establecer una restricción de altura para su UILabel y, en el evento del button táctil, cambiar la constante de restricción al contenido de su label.

Después de que tu puedes animarlo con

 UIView.animate(duration)