Guión y ampliable textView
-
21-12-2019 - |
Pregunta
He intentado que el programa de instalación ampliable textView
en el guión gráfico utilizando autolayout
.
Aquí es cómo puedo configurar las restricciones:
El campo cerca de "Descripción" es UITextView
.Quiero que se expanda que dependen de la cantidad de la línea de campo de texto contiene.
La estructura de árbol de la vista es:UIView
-> UITextView
Y ahora puedo hacerlo por:
- (void)textViewDidChange:(UITextView *)textView {
CGFloat fixedWidth = textView.frame.size.width;
CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
CGRect newFrame = textView.frame;
newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
textView.frame = newFrame;
}
Y ampliar la UITextView
como se esperaba a la parte inferior de la Vista principal.Pero mi tarea es:
- Ampliar el campo de texto como se esperaba.
- Ampliar la
height
de la vista principal también para guardar el margen de la parte inferior.
Como puedes ver estoy un lío con frame
pero estoy tengo esta sensación de que tengo que hacerlo usando limita.Puedes sugerir una solución adecuada?
Solución
Intente lo siguiente :
- Agregar restricción de altura
parentView
deUITextView
- Conecte
IBOutlet
a esa altura de la restricción de la - Actualización de restricción mediante programación en
textViewDidChange:
método
Otros consejos
Es posible hacer sin la actualización de restricción a través de programación.La clave es desactive la opción "Desplazamiento habilitado" campo en textview y configuración de vista de la altura de la restricción de ser mayor o igual que la inicial constante.