2017-05-08 3 views
1

J'utilise la bibliothèque SDWebImage pour afficher des images dans mon scrollview avec contrôle de page.Charger et afficher l'image un par un à partir de l'URL et du cache

Comment télécharger l'image un par un et l'afficher. Supposons que j'ai 4 URL: url1, url2, url3, url4 donc je veux afficher url1 d'abord puis ... 2,3,4..sur ... 2,3,4 devrait charger en arrière-plan jusqu'à ce que les ne sont pas télécharger un spectacle d'image placeholder là.

Ci-dessous est mon code de l'intérieur pour la boucle que j'essaie est-il parfait?

 NSString* serverImgicon=<url here in a loop>; 
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{ 
      NSURL *url=[NSURL URLWithString: serverImgicon]; 
      //set your image on main thread. 
      dispatch_async(dispatch_get_main_queue(),^{ 
       [img sd_setImageWithURL:url 
         placeholderImage:[UIImage imageNamed:@"placeholderImg"]]; 
      }); 
     }); 
+1

suivre cette réponse [enter description du lien ici] (http://stackoverflow.com/questions/18342172/load-images-using-sdwebimage-in-order) –

+0

si les images devraient charger en arrière-plan alors quel est le but de chargement un par un .. – user2931321

Répondre

-1

utilisation sdwebCache pour charger des images de manière asynchrone

https://github.com/rs/SDWebImage

/******************/

#import "UIImageView+WebCache.h" 

puis charge des images comme ceci:

NSArray *tempArray = [stickersThumbRecords objectForKey:collectioName]; 

       if (tempArray.count>indexPath.item) { 
        NSURL *url = [NSURL URLWithString:[tempArray objectAtIndex:indexPath.item] ]; 

        [imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"placeholderFrame"]]; 
       } 
+1

ajjjjjj je fais la même chose ... avez-vous vérifier ... ma question est de charger et d'afficher l'image dans l'ordre de 1 par 1. .. – iphonemaclover

+0

quel problème vous êtes confronté ???? – ajjjjjjjj

+0

pour une connexion faible comme 2g ... son téléchargement dans l'image de synchronisation image aléatoire de URL ... signifie URL1 est vide et URL2 ont une image et ainsi de suite ... – iphonemaclover

1

Essayez ci-dessous le code, cela fonctionnera bien

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ 

     CollectionViewCell *cell =[collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath]; 

     myobject *newobject = _myarray[indexPath.item]; 
     cell.nameLabel.text =newobject.name; 

      dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul); 
     dispatch_async(queue, ^{ 

      [cell.activityIndicatorForImage startAnimating]; 
      UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL: 
                [NSURL URLWithString:newobject.image]]]; 
      dispatch_sync(dispatch_get_main_queue(), ^{ 
       if(image!= nil){ 
        [[cell myimage] setImage:image]; 
        [cell.activityIndicatorForImage setHidden:NO]; 

       }else{ 
        UIImage * image = [UIImage imageNamed:@"PLACEHOLDER"]; 
        [[cell myimage] setImage:image]; 
        [cell.activityIndicatorForImage setHidden:YES]; 
        [cell.activityIndicatorForImage stopAnimating]; 

       } 


       [cell setNeedsLayout]; 
      }); 
     }); 

     return cell; 
    } 
+0

merci sathish mais j'ai besoin de coder en utilisant SDWebImage – iphonemaclover