Créer une UIImage avec une URL dans iOS
Pour créer une UiImage avec un fichier d'image, j'ai utiliser le code comme ci-dessous:
UIImage *aImage = [[UIImage imageNamed:@"demo.jpg"]autorelease];
Si je veux créer une UiImage avec l'URL http://example.com/demo.jpg, comment le faire?
Grâce
Mise à JOUR
- Regardez ce projet: github.com/rs/SDWebImage
Vous devez vous connecter pour publier un commentaire.
C'est un processus en trois étapes. Vous allez commencer par créer un
NSURL
objet pour contenir l'URL, nous tentons d'accès. Nous assurons la fourniture de cette URL pour laNSData
méthode de classe,+dataWithContentsOfURL:
pour obtenir l'image sur le réseau en tant que données brutes, puis utilisez le+imageWithData:
méthode de classe surUIImage
pour convertir les données en une image.Veuillez noter que
+dataWithContentsOfURL:
exécute un réseau synchrone demande. Si vous exécutez ce code sur le thread principal, il permet de bloquer l'INTERFACE utilisateur jusqu'à ce que l'image est reçue à partir du réseau. La meilleure pratique est d'exécuter n'importe quel code de réseau sur un thread d'arrière-plan. Si vous ciblez des OS 4.0+, vous pourriez faire quelque chose comme ça...Voici ce que le même code pourrait ressembler à Swift:
DispatchQueue.global(qos: .default).async { //block }
Pour ceux qui cherchent à charger une image à partir du web de la bibliothèque suivantes peuvent être utiles:
https://github.com/rs/SDWebImage
C'est un
UIImageView
catégorie qui s'occupe de chargement asynchrone et de l'image mise en cache à partir de l'url.