J'ai un IBOutlet
to a UIImageView
, mais quand je regarde le UIImageView
document, je ne vois aucun indice sur le changement par programme. Dois-je récupérer un UIImage
objet à partir de cela UIImageView
?
la source
J'ai un IBOutlet
to a UIImageView
, mais quand je regarde le UIImageView
document, je ne vois aucun indice sur le changement par programme. Dois-je récupérer un UIImage
objet à partir de cela UIImageView
?
Si vous avez déjà un IBOutlet vers une UIImageView, il vous suffit de saisir une image et d'appeler setImage sur le récepteur (UIImageView). Deux exemples de capture d'une image sont ci-dessous. Un sur le Web et un que vous ajoutez à votre dossier Resources dans Xcode.
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.jpg"]]];
ou
UIImage *image = [UIImage imageNamed: @"cell.png"];
Une fois que vous avez une image, vous pouvez définir UIImageView:
[imageView setImage:image];
La ligne ci-dessus suppose que imageView est votre IBOutlet.
C'est tout! Si vous voulez avoir de la fantaisie, vous pouvez ajouter l'image à un UIView, puis ajouter des transitions.
Gestion de la mémoire PS non incluse.
Notez que le fichier NIB ne relie pas tous les IBOutlets tant que la vue n'a pas été ajoutée à la scène. Si vous câblez les choses manuellement (ce que vous pourriez faire si les choses sont dans des NIB séparés), il est important de garder à l'esprit.
Donc, si mon contrôleur de vue de test a un "imageView" câblé par une pointe, cela ne fonctionnera probablement pas:
Mais cela va:
la source
Cela a fonctionné pour moi
Assurez-vous que ImageView est correctement déclaré dans le fichier .h et est lié à l'élément IB.
la source
la source
Dans le but de personnes qui recherchent cela sur Google pour essayer de résoudre leur problème, n'oubliez pas de déclarer correctement la propriété dans votre fichier d'en-tête et de synthétiser l'UIImageView dans votre fichier d'implémentation ... Il sera difficile de définir l'image par programme sans méthodes getter et setter.
puis dans votre .m:
À partir de là, vous devriez utiliser quelque chose comme ce qui suit pour définir votre image.
la source
Exemple dans Swift :
la source
En suivant les conseils de Jordan (qui devraient fonctionner en fait), essayez de définir UIImageView pour être visible:
et aussi - n'oubliez pas de le joindre à l'UIView principal:
et de mettre au premier plan:
J'espère que la combinaison de toutes ces étapes vous aidera à résoudre le mystère.
la source
Mon problème était que j'ai essayé de changer l'image dans un autre fil. J'ai aimé ceci:
Appeler avec:
la source
dispatch_async(dispatch_get_main_queue(), ^{backgroundImage.image = [UIImage imageNamed:@"img.png"];})
Si vous souhaitez définir l'image sur par
UIImageView
programme, n'oubliez pas d'ajouter enUIImageView
tant que sous- vue à la vue principale.Et n'oubliez pas non plus de définir ImageView Frame .
voici le code
la source
N'oubliez pas d'appeler
sizeToFit()
après avoir changé d'image si vous utilisez ensuite la taille de UIImageView pour définir UIScrollView contentSize et / ou calculer l'échelle de zoomla source
la source
la source
Cette question avait déjà beaucoup de réponses. Malheureusement, aucun n'a fonctionné pour moi. Donc, par souci de complétude, j'ajoute ce qui m'a aidé:
J'avais plusieurs images avec le même nom - je les ai donc commandées dans des sous-dossiers. Et j'avais le chemin complet vers le fichier image que je voulais montrer. Avec un chemin complet
imageNamed:
(comme utilisé dans toutes les solutions ci-dessus) ne fonctionnait pas et était la mauvaise méthode.Au lieu de cela, j'utilise maintenant
imageWithContentsOfFile:
comme ceci:Je ne sais pas, si quelqu'un lit aussi loin?
Si c'est le cas et que celui-ci vous a aidé: veuillez voter. ;-)
la source
Travailler avec Swift 5 (XCode 10.3) c'est juste
la source
Pour définir l'image sur votre imageView, utilisez la ligne de code ci-dessous,
la source