2010-05-03 19 views
5

Subclase UIScrollView (SDK de iPhone) y anula el (vacío) layoutSubviews; método. Me di cuenta de que cada vez que se desplaza scrollView, se llama a este método.UIScrollView llama a layoutSubviews() cada vez que se desplaza

¿Es ese el comportamiento correcto o tengo errores en mi código? Si es el comportamiento predeterminado, ¿no es esto un asesino de rendimiento?

Sinceramente, Heinrich

+0

¿Por qué está subclasando UIScrollView? ¿Por qué no le agregas subvistas? –

+1

También podría agregar subvistas, pero ese no es el punto. – Erik

Respuesta

10

Es el comportamiento correcto y debe ser utilizado para obtener un diseño personalizado de sus subvistas. Lo he usado varias veces y no he tenido problemas de rendimiento con cientos de elementos agregados.

un recorte de la documentation sobre ese tema:

Subclases también pueden ser recipientes para otros vistas. En este caso, solo anula el inicializador designado, initWithFrame :, para crear una jerarquía de vista . Si desea forzar sistemáticamente el diseño de las subvistas antes del dibujo, envíe setNeedsLayout a la vista. Luego, cuando se invoca layout IfNeeded, el método layoutSubviews se invoca solo antes de mostrarse. Las subclases deben anular diseñoSubviews para realizar cualquier disposición personalizada de subvistas.

+0

Veo, ese es el comportamiento esperado de un ScrollView. ¡Gracias! – Erik

+0

Si esta respuesta fue útil, tal vez podría marcarla como correcta: P. ¡Gracias! – texmex5

Cuestiones relacionadas