Partager via


Affichage d’images avec Xamarin.iOS

L’ajout d’images à votre application nécessite deux étapes : tout d’abord, ajoutez les images à votre projet ; ajoutez ensuite des contrôles et du code pour les afficher sur un écran. Pour obtenir une couverture plus détaillée de la gestion des images dans Xamarin.iOS, consultez l’article Working with images .

Ajout d’images à votre application

Les images peuvent être ajoutées à n’importe quel dossier de votre solution Visual Studio pour Mac, et si l’action de génération est définie sur Contenu, le fichier est inclus dans votre application et peut être affiché.

Visual Studio pour Mac prend également en charge un répertoire spécial appelé Ressources qui peuvent également contenir des fichiers image. Les fichiers du dossier Ressources doivent avoir l’actionde génération définie sur BundleResource.

Cette capture d’écran montre les options d’action de génération qui s’affichent lorsqu’un fichier est cliqué avec le bouton droit sur :

Menu Action de génération

Visual Studio pour Mac choisira généralement le bon Action de génération automatiquement, mais vous devez connaître ces paramètres, en particulier si vous déplacez des fichiers dans votre projet.

Ajout d’un fichier image

Pour ajouter un fichier image à votre projet, cliquez d’abord avec le bouton droit sur le projet et choisissez Ajouter des fichiers...

Ajouter des fichiers... Menu

Sélectionnez l’image (ou les images) que vous souhaitez inclure dans la boîte de dialogue fichier standard. L’action de génération par défaut pour les images est BundleResource : ne remplacez pas cette valeur, sauf si vous avez une raison spécifique.

Boîte de dialogue Ajouter des fichiers

L’image sera ajoutée à votre projet et disponible pour être chargée et affichée dans le code. Cette capture d’écran montre une image ajoutée à un projet d’application iOS :

Image dans le projet

Qu’est-ce que le répertoire Resources ?

Les fichiers placés dans le répertoire Ressources sont traités différemment des fichiers standard : le contenu du dossier Ressources est copié à la racine de l’application et peut être référencé à partir de là dans votre code. Cela peut être utile pour de nombreuses raisons :

  • Stockage des images configurées dans les propriétés de l’application, telles que les images de démarrage et les icônes d’application par défaut.
  • Le stockage d’autres images et fichiers séparément du code est donc plus facile à gérer (les sous-répertoires sont conservés lorsque le contenu du répertoire Resources est copié).

Le répertoire Ressources est particulièrement utile dans un projet de bibliothèque, car le code peut supposer que ces images seront copiées à la racine de l’application consommatrice, ce qui facilite l’écriture de bibliothèques de code partagées qui nécessitent des images, du son, des vidéos, du XML ou d’autres fichiers.

Le répertoire Resources doit être ainsi nommé, et tous les fichiers doivent avoir l’action de génération définie sur BundleResource.

Affichage de l’image

Dans le Concepteur iOS, utilisez un affichage image pour afficher une image ou une série animée d’images. L’icône Vue d’image de la boîte à outils est illustrée ci-dessous :

Icône ImageView dans la boîte à outils.

Faites glisser l’affichage image de la boîte à outils sur le contrôleur de vue. Ensuite, sous Image d’affichage > d’image , la liste déroulante fournit une liste de tous les fichiers image disponibles dans votre projet. Sélectionnez l’une de ces options pour l’ajouter à votre vue d’image.

ImageView dans la boîte à outils

Affichage de l’image par programmation

Étant donné que SF Monkey.jpg se trouve à la racine du répertoire Resources , il sera disponible au moment de l’exécution dans la racine du bundle d’applications. Pour afficher cette image dans un contrôle d’affichage d’image, utilisez le code suivant :

imageview1.Image = UIImage.FromBundle("SF Monkey.png");

Si nous avions placé l’image dans /Resources/Pics/SF Monkey.jpg, le code inclurait le dossier Pics dans le chemin d’accès :

imageview1.Image = UIImage.FromBundle("Pics/SF Monkey.png");

Les références de fichiers de ressources n’ont jamais besoin d’inclure le dossier Ressources .