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:

enter image description here enter image description here

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:

  1. Ampliar el campo de texto como se esperaba.
  2. 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?

¿Fue útil?

Solución

Intente lo siguiente :

  • Agregar restricción de altura parentView de UITextView
  • 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top