Ya hice varias búsquedas en Stack Overflow y Google, pero no pude encontrar una solución a mi problema.Autoresize UITextView y UIScrollView
Tengo una vista de detalles para un producto que incluye UIScrollView y algunas subvistas (UIImageView, UILabel, UITextView). Puede encontrar un ejemplo here.
Primero quiero convertir automáticamente el UITextView (¡no el texto mismo!) A la altura correspondiente. Luego quiero convertir automáticamente toda UIScrollView para que se ajuste a la altura de mi UITextView y los elementos que están sobre ella. He intentado el siguiente código:
myUITextView.frame = CGRectMake(2.0, 98.0, 316.0, self.view.bounds.size.height);
[scrollView setContentOffset:CGPointMake(0.0, 0.0) animated:NO];
scrollView.contentSize = CGSizeMake(320.0, 98.0 + [myUITextView frame].size.height);
[self.view addSubview:scrollView];
98,0 + [myUITextView marco] .size.height) porque mi pensamiento fue: Después de conseguir la altura de myUITextView, agregue la altura de los otros subvistas (98,0) lo.
Desafortunadamente no funciona muy bien. Dependiendo del contenido de UIScrollView, es demasiado corto o demasiado largo. Hice algunas de registro con el resultado de que la altura de la UITextView es siempre el mismo:
2010-01-27 14: 15: 45.096 myApp [1362: 207] [myUITextView marco] .size.height: 367,000000
Gracias!
Gracias por su ayuda. Parece sizeWithFont: forWidth: lineBreakMode: solo funciona para una sola línea de texto. He intentado sizeWithFont: constrainedToSize: lineBreakMode: y funciona un poco. A veces no calcula la altura correcta. Supongo que es debido a algunos saltos de línea en mi fuente de texto, así que agregué 30 px al botón. – dennis3484
¡Acabo de consultar los documentos y tiene toda la razón, lo siento! He tenido problemas para devolver la altura incorrecta y utilicé exactamente la misma solución que tú. Añade 30 píxeles :) – deanWombourne