2012-12-20 22 views
9

Ho una vista tabella che mostra le immagini utilizzando il caricamento lento da AFNetworking con un'immagine segnaposto. Sto provando a realizzare un modo per sfumare dal segnaposto all'immagine quando viene caricata. Il mio codice qui funziona, ma se un'immagine si carica mentre si scorre la tabella, tutto sembra strano e la tabella smette di scorrere. La stessa cosa accade a uno scroller orizzontale con lo stesso effetto.AFNetworking - Animazione dissolvenza sull'immagine durante lo scorrimento di UITableView

Ecco il codice che sto utilizzando all'interno cellForRowAtIndexPath

[cell.hotelImage setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:hotelImageUrl]] 
        placeholderImage:[UIImage imageNamed:@"placeholder.png"] 
          success:^(NSURLRequest *request , NSHTTPURLResponse *response , UIImage *image){ 

           if (request) { 
            //Fade animation 
            [UIView transitionWithView:self.view 
                duration:1.0f 
                 options:UIViewAnimationOptionTransitionCrossDissolve 
                animations:^{ 
                 [cell.hotelImage setImage:image]; 
                } completion:NULL]; 

           } 


          } 
          failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){ 

          } 
]; 

sto usando il se (richiesta) per evitare l'animazione una volta che l'immagine è nella cache.

Molte grazie in anticipo.

risposta

14

invece di provare questo self.view cell.hotelImage questo funzionerà :)

[UIView transitionWithView:cell.hotelImage 
    duration:1.0f 
    options:UIViewAnimationOptionTransitionCrossDissolve 
    animations:^{[cell.hotelImage setImage:image];} 
completion:NULL]; 
+0

funziona impressionante. Grazie mille! – Chompas

Problemi correlati