2017-08-05 1 views
0

dans mon application, j'ai besoin de montrer quelques images à l'utilisateur. Pour chaque image, une vignette est créée par le serveur à chaque fois qu'une personne télécharge une image. Maintenant, ce que je veux, c'est que lorsque je montre l'image dans le UIImageView, je veux d'abord mettre l'image en miniature (une image très légère de près de 15kb), puis quand l'image normale a été téléchargée, l'afficher le même UIImageView.Définir image miniature dans UIImageView à partir de l'URL

Je sais qu'il existe une bibliothèque de 3 parties qui peut le faire, mais le problème est que pour la vignette et l'image de taille normale, j'ai juste l'URL.

Quelqu'un peut-il aider? Merci

Répondre

0

Enfin j'ai pu le faire en utilisant la bibliothèque du parti 3th Nuke

Voici le code

Nuke.loadImage(with: URL(string: post.thumble_url), into: postPicture) { [weak postPicture] response, _ in 
      postPicture?.image = response.value 
      if postPicture != nil { 
       Nuke.loadImage(with: URL(string: self.post.picture_url), into: postPicture!) 
      } 
     } 
0

Lorsque vous créez votre UIImageView, démarrez automatiquement le processus de téléchargement de la vignette + l'image. Normalement, la vignette doit être téléchargé d'abord si il suffit de faire: imageView.image = MyThumnailUIImage et lorsque l'image complète est téléchargée, il suffit de faire: imageView.image = MyFullUIImage

Pour être plus utile que vous pouvez créer une classe personnalisée UIImage. Vous pouvez appeler une méthode et cette méthode devrait vous servir à tout (télécharger les 2 images, gérer la logique d'affichage de la vignette avant l'image complète, télécharger l'image, ...)

J'espère que ça a de l'aide toi!