2011-03-22 7 views
12

Comportamiento muy extraño, hay un punto redondo en el centro de la pantalla con este código, y un UIScrollview con nada dentro en un plumín. Espero que UIScrollview esté vacío. El punto se borra y desaparece cuando me desplazo por la pantalla.UIImageView extraño en UIScrollView

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSArray *subviews = [closetScroll subviews]; 
    UIImageView *strange=[subviews objectAtIndex:0]; 
    strange.center = CGPointMake([[UIScreen mainScreen] bounds].size.width/2, [[UIScreen mainScreen] bounds].size.height/2); 
    strange.alpha=1; 

    NSLog(@"%@",subviews); 
} 

La salida de la consola es:

<UIImageView: 0x4b1f780; frame = (380.5 508.5; 7 7); opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x4b1f820> 

¿Alguien sabe por qué?

Respuesta

33

Después de ampliar el UIImageView y modificar las configuraciones, he llegado a la conclusión de que UIImageView es realmente la barra de desplazamiento, y si el desplazamiento horizontal y vertical está habilitado, un UIScrollview "vacío" tiene dos subvistas.

+3

¡Gracias, estas 2 sub-vistas de imágenes me hacían arañar la cabeza también! :) – chown

+0

Gracias! esto debe tenerse en cuenta al ajustar el tamaño del contenido de ScollView de acuerdo con sus subvistas. (http://stackoverflow.com/questions/2944294/how-i-auto-size-a-uiscrollview-to-fit-the-content) – AmitP

0

Tuve el mismo problema. Calcular la cantidad de subvistas puede ser muy engañoso debido a esta "característica".

Inicie la aplicación y cuente el número de subvistas, esta será 1. Ahora, use su mouse en el simulador o con el dedo en el dispositivo y deslícese de la derecha a la izquierda. Cuente el número de subvistas. El número será 2.

No puedo deducir nada más que este UIImageView extra es producido por Cocoa Touch para renderizar el fondo en el color correcto cuando "rebota" más allá del final de los límites de UIScrollView.

Cuestiones relacionadas