2010-06-17 13 views
13

Tengo una aplicación de iPhone que usa un temporizador y en cada intervalo de tiempo crea algunos controles UILabel y los agrega a un UIScrollView.Borrar contenido de UIScrollView

Lo que quiero hacer es borrar el UIScrollView cada intervalo de tiempo antes de que ponga los controles UILabel en el UIScrollView.

¿Cómo puedo borrar el contenido del UIScrollView?

Respuesta

45
for (UIView *subview in scrollView.subviews) { 
    [subview removeFromSuperview]; 
} 
+21

o en una línea: [scrollView.s ubviews makeObjectsPerformSelector: @selector (removeFromSuperview)]; – Vladimir

+0

Gracias Graham, eso funcionó perfectamente bien para mí. Muchas gracias .... – Joy

+0

@Vladimir: bueno. –

15

también quite la barra de desplazamiento con el above solution. Para resolver esto, puede preguntar si la subvista que va a eliminarse es una instancia de UIImageView. Obviamente, tendrá que hacer más comprobaciones si tiene su propio UIImageViews en la vista de desplazamiento.

for (UIView *subview in scrollView.subviews) { 
    if(![subview isKindOfClass:[UIImageView class]]) 
    [subview removeFromSuperview]; 
} 
0

Es muy simple simplemente escriba este código dentro de su bucle donde la estructura dinámica crea y cambia su contenido con frecuencia.

[subview removeFromSuperview]; 
1

suelo ir con un forro uno como esto: en caso de que esté interesado ..

while(scrollView.subviews.count > 0) [[scrollView.subviews objectAtIndex:0] removeFromSuperview]; 
0

En una línea

[_ui_scroll.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; 
0

SWIFT:

for subview in self.scrollView.subviews 
     { 
      subview.removeFromSuperview() 
     } 
Cuestiones relacionadas