iCarousel se muestra en la página anterior cuando se hace clic en el button Atrás

Cuando presiono el button Atrás. el iCarousel todavía aparece durante 1 segundo. ¿Por qué sucede esto y cómo detenerlo? He utilizado storyboard para crear una vista de iCarosel.

 - (void)viewDidUnload { [super viewDidUnload]; self.carousel = nil; } - (void)dealloc { carousel.delegate = nil; carousel.dataSource = nil; } - (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel { return [idOfAllWords count]; } - (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view { UILabel *label = nil; //create new view if no view is available for recycling if (view == nil) { view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 250.0f, 250.0f)]; ((UIImageView *)view).image = [UIImage imageNamed:@"page.png"]; view.contentMode = UIViewContentModeCenter; label = [[UILabel alloc] initWithFrame:view.bounds]; label.backgroundColor = [UIColor clearColor]; label.textAlignment = NSTextAlignmentCenter; label.font = [label.font fontWithSize:50]; label.tag = 1; [view addSubview:label]; } else { label = (UILabel *)[view viewWithTag:1]; } Words *word=nil; word=idOfAllWords[index]; label.text =word.Name; return view; } 

introduzca la descripción de la imagen aquí

De hecho, intenté reproducir tu problema y vi que la vista del carrusel se mantiene por un segundo cuando sucede el button 'pop' o el button de retroceder. Esto ocurre particularmente cuando se desliza el carrusel y luego se presiona el button de retroceso. Como una solución, pude solucionarlo configurando el iCarousel oculto en el método viewWillDisappear .

 - (void)viewWillDisappear:(BOOL)animated { [YOUR_CAROUSEL_NAME setHidden:YES]; //This sets the carousel to be hidden when you press Back button } 

Si esto parece estar oculto de repente, quizás intente configurar el alpha a 0.0 dentro de un bloque de animation. Algo como esto:

 - (void)viewWillDisappear:(BOOL)animated { //[YOUR_CAROUSEL_NAME setHidden:YES]; [UIView animateWithDuration:0.2f animations:^{ [YOUR_CAROUSEL_NAME setAlpha:0.0f]; //This makes the carousel hide smoothly }]; } 

¡Espero que esto ayude!

Esconder y ocultar no es la solución. Lo que necesita es solo una línea:

 yourCarousel.clipsToBounds = YES;