Pregunta

Quiero mostrar un texto con muchas líneas. Agregué una etiqueta multilínea a una vista de desplazamiento, pero no mostraba nada. Parece que esta no es la forma correcta de usar la vista de desplazamiento. ¿Cómo usar la vista de desplazamiento para que los usuarios puedan arrastrar hacia abajo para ver más texto?

¿Fue útil?

Solución

Puedes usar un UITextView. Es un hijo de UIScrollView, y si configura sus propiedades de texto a una cantidad de texto que no se ajusta a su marco, la vista se podrá desplazar.

Otros consejos

UIScollView documentation de Apple es bastante bien, debes comenzar allí y entender la clase.

Piense en una vista de desplazamiento como una gran superficie de visualización sobre la que se desliza la pantalla *. Puede agregar subvistas a la vista de desplazamiento y luego desplazarse es como colocar la pantalla sobre la vista de desplazamiento: la pantalla actúa como una ventana que puede ver en parte del contenido de la vista de desplazamiento a continuación.

Para hacer esto, una vista de desplazamiento tiene algunas propiedades adicionales sobre una vista UIV normal, pero es como una vista UIV en un aspecto importante: no muestra ningún contenido directamente. Necesitas agregar una subvista para dibujar tu texto. Una vista de desplazamiento se configura y se muestra exactamente de la misma manera que una UIView, es decir, usted establece el marco para agregarlo a otra vista y para mostrar el texto que necesita para agregar subvistas a la UIScrollView que realmente puede representar el texto.

Para configurar un UIScrollView básico que solicite, solo debe crearlo como una vista normal de pantalla completa: configure el marco para que tenga el mismo tamaño que la ventana y agregue la vista de desplazamiento a la ventana como una subvista. Luego haz un gran UITextView para mantener tu texto. La vista UIText puede ser tan grande como desee, específicamente puede ser más grande que la pantalla. establezca la propiedad contentSize de UIScrollView para que sea la misma que el marco de UITextView y luego agregue la vista de UIText como una subvista de UIScrollView.

Una vez que haya funcionado, puede mover el contenido automáticamente con la propiedad contentOffset, controlar el zoom y configurar un delegado para observar eventos de desplazamiento.

* con más precisión, sobre el que se desliza el marco, pero supongo que estás haciendo un UIScrollView a pantalla completa. Estoy seguro de que puedes generalizarlo si quieres una vista más pequeña.

Usé UIScrollView de esta manera para un panel de instrucciones en una de mis aplicaciones. Funcionó pero no estaba contento con el resultado. Luego cambié a usar un UIWebView y he estado mucho más feliz con el resultado. Maneja el tamaño de la vista de desplazamiento automáticamente, obtengo todas las capacidades de formato de HTML y puedo tener enlaces que van a información adicional (o sitios externos) sin tan solo agregar otro archivo HTML y quizás algún código de delegado. Aquí está el código que usé (y agregué el archivo HTML a mi aplicación como recurso):

NSString *path = [[NSBundle mainBundle] pathForResource:@"instructions" ofType:@"html"];
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];
NSString *htmlString = [[NSString alloc] initWithData: [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];
[self.instructionsView loadHTMLString:htmlString baseURL:nil];

U puede referirse a este sitio web http: //www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone/

U sigue el paso a paso para hacer la vista de desplazamiento en el iPhone ... buena suerte :)

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