Quelle est la différence entre UIImage
et UIImageView
? Quelqu'un peut-il l'expliquer avec un exemple?
Exemple:
UIImage *bgImage = [UIImage imageNamed:@"[email protected]"];
UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:bgImage];
backgroundImageView.frame = [[UIScreen mainScreen] bounds];
Un objet
UIImage
est un moyen de haut niveau d'afficher des données d'image. Vous pouvez créer des images à partir de fichiers, à partir d'objets d'image de quartz ou à partir de données d'image brutes que vous recevez. La classe UIImage offre également plusieurs options pour dessiner des images dans le contexte graphique actuel en utilisant différents modes de mélange et valeurs d'opacité.Les objets d'image sont immuables, vous ne pouvez donc pas modifier leurs propriétés après la création. Cela signifie que vous spécifiez généralement les propriétés d'une image au moment de l'initialisation ou comptez sur les métadonnées de l'image pour fournir la valeur de la propriété. Dans certains cas, toutefois, la classe UIIMAGE fournit des méthodes de commodité pour obtenir une copie de l'image qui utilise des valeurs personnalisées pour une propriété.
Étant donné que les objets d'image sont immuables, ils ne fournissent également pas d'accès direct à leurs données d'image sous-jacentes. Cependant, vous pouvez obtenir un objet NSData contenant une représentation PNG ou JPEG des données d'image à l'aide des fonctions
UIImagePNGRepresentation
etUIImageJPEGRepresentation
fonctions.Le système utilise des objets d'image pour représenter des images fixes prises avec l'appareil photo sur les périphériques pris en charge. Pour prendre une photo, utilisez la classe UiImagePickerController. Pour enregistrer une image à l'album de photos enregistré, utilisez la fonction
UIImageWriteToSavedPhotosAlbum
.
Un
UIImageView
fournit un conteneur à vue permettant d'afficher une seule image ou d'animation d'une série d'images. Pour animer les images, la classeUIImageView
fournit des commandes pour définir la durée et la fréquence de l'animation. Vous pouvez également commencer et arrêter l'animation librement.De nouveaux objets de vue d'image sont configurés pour ignorer les événements utilisateur par défaut. Si vous souhaitez gérer les événements dans une sous-classe personnalisée de
UIImageView
, vous devez modifier explicitement la valeur de la propriétéuserInteractionEnabled
surYES
après l'initialisation de l'objet.Lorsqu'un objet
UIImageView
affiche l'une de ses images, le comportement réel est basé sur les propriétés de l'image et de la vue. Si l'une des propriétés de l'imageleftCapWidth
outopCapHeight
est non nulle, l'image est étirée en fonction des valeurs de ces propriétés. Sinon, l'image est à l'échelle, dimensionnée pour s'adapter ou positionnée dans la vue d'image en fonction de la propriété contentmode de la vue. Il est recommandé (mais non obligatoire) que vous utilisez des images de la même taille. Si les images sont différentes tailles, chacune sera ajustée pour s'adapter séparément en fonction de ce mode.Toutes les images associées à un objet
UIImageView
doivent utiliser la même échelle. Si votre application utilise des images avec des échelles différentes, elles peuvent rendre mal.
En bref: vous créez une instance de UIImage
objet pour contenir les données de l'image, comme ceci:
NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"/picture.jpg"]; //assuming your image is in your app's bundle
UIImage *img = [[UIImage alloc]initWithContentsOfFile:sourcePath];
Vous créez ensuite une instance de UIImageView
via ib ou code pour afficher votre image à l'écran, comme ceci:
[imageView1 setImage:img]; //assume you already create an instance of UIImageView named imageView1
UIImage
contient les données d'une image. UIImageView
est une vue personnalisée destinée à afficher le UIImage
.
UIImage
Objets Stockez les données d'une image (c'est-à-dire des données d'un fichier PNG)
UIImageView
Les objets sont utilisés pour afficher un UIImage
UIImage
est un objet de données qui contient des octets d'image.
UIImageView
est un contrôle qui affiche UIImage
données.
UiImage contient les données comme (images) et l'affiche sur UiImageView.
UiImageView est un type de conteneur pour afficher des images.
UIImageView *myImage = [[UIImageView alloc]init];
[myImage setImage:[UIImage imageNamed:@"1.png"]];
créer une instance pour UiImageView comme "MyImage". C'est une aide pour les données distinctives.UIImage aide à contenir les données de 1.png à partir du fichier d'actifs dans Xcode.
UiImage est un objet qui stocke des données (JPG, PNG ...) et de la classe UiImageView qui contient UIImage en tant que propriété. UIImageView peut avoir plusieurs uiimages et UIImage est immuable. Cela m'a dérangé il y a longtemps, pourquoi quand vous créez une image que vous faites: Var Image: UiImageView!
mais quand vous exécutez que "image", vous faites image.Image = uiimage.init (nommé: "Image") C'est vraiment facile, vous utilisez UiImageView, pour créer une image avec UIIMAGE :) UIImage Affiche l'image et UiImageView est conteneur pour cet uImage