Respuestas:
Si ya tiene un IBOutlet para un UIImageView, todo lo que tiene que hacer es tomar una imagen y llamar a setImage en el receptor (UIImageView). A continuación se muestran dos ejemplos de capturar una imagen. Una de la Web y otra que agregue a su carpeta de Recursos en Xcode.
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.jpg"]]];
o
UIImage *image = [UIImage imageNamed: @"cell.png"];
Una vez que tenga una imagen, puede configurar UIImageView:
[imageView setImage:image];
La línea de arriba asume que imageView es su IBOutlet.
¡Eso es! Si quieres ponerte elegante, puedes agregar la imagen a una UIView y luego agregar transiciones.
Gestión de memoria PS no incluida.
Tenga en cuenta que el archivo NIB no conecta todos los IBOutlets hasta que la vista se haya agregado a la escena. Si está conectando las cosas manualmente (lo que podría estar haciendo si las cosas están en NIB separadas), es importante tener esto en cuenta.
Entonces, si mi controlador de vista de prueba tiene un "imageView" conectado por una punta, esto probablemente no funcionará:
testCardViewController.imageView.image = [UIImage imageNamed:@"EmptyCard.png"];
[self.view addSubview:testCardViewController.view];
Pero esto:
[self.view addSubview:testCardViewController.view];
testCardViewController.imageView.image = [UIImage imageNamed:@"EmptyCard.png"];
imageView.image = [UIImage imageNamed:@"myImage.png"];
Para el propósito de las personas que pueden buscar en Google esto para tratar de resolver su problema, recuerde declarar adecuadamente la propiedad en su archivo de encabezado y sintetizar el UIImageView en su archivo de implementación ... Será difícil configurar la imagen mediante programación sin métodos getter y setter.
#import <UIKit/UIKit.h>
@interface YOURCONTROLLERNAME : UIViewController {
IBOutlet UIImageView *imageToDisplay;
}
@property (nonatomic, retain) IBOutlet UIImageView *imageToDisplay;
@end
y luego en tu .m:
@implementation YOURCONTROLLERNAME
@synthesize imageToDisplay;
//etc, rest of code goes here
A partir de ahí, debería estar bien usando algo como lo siguiente para configurar su imagen.
[YOURCONTROLLER.imageToDisplay setImage:[UIImage imageNamed:value]];
Ejemplo en Swift :
import UIKit
class ViewController: UIViewController {
@IBOutlet var myUIImageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func myAction(sender: UIButton) {
let newImg: UIImage? = UIImage(named: "profile-picture-name")
self.myUIImageView.image = newImg
}
@IBAction func myAction2(sender: UIButton) {
self.myUIImageView.image = nil
self.myUIImageView.image = UIImage(data: NSData(contentsOfURL: NSURL(string: "http://url/image.png")!)!)
}
}
Siguiendo el consejo de Jordan (que debería funcionar en realidad), intente configurar el UIImageView para que sea visible:
[imageView setHidden: NO];
y también, no te olvides de adjuntarlo a la UIView principal:
[mainView addSubview: imageView];
y traer al frente:
[mainView bringSubviewToFront: imageView];
Espero que combinar todos estos pasos te ayude a resolver el misterio.
Mi problema fue que intenté cambiar la imagen en otro hilo. Me gustó esto:
- (void)changeImage {
backgroundImage.image = [UIImage imageNamed:@"img.png"];
}
Llamar con:
[self performSelectorOnMainThread : @selector(changeImage) withObject:nil waitUntilDone:NO];
dispatch_async(dispatch_get_main_queue(), ^{backgroundImage.image = [UIImage imageNamed:@"img.png"];})
Si desea configurar la imagen mediante UIImageView
programación, no olvide agregar UIImageView
como SubView a la Vista principal.
Y tampoco se olvidó de configurar ImageView Frame .
aquí está el código
UIImageView *myImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
myImage.image = [UIImage imageNamed:@"myImage.png"];
[self.view addSubview:myImage];
No olvide llamar sizeToFit()
después de cambiar la imagen si luego usa el tamaño de UIImageView para configurar UIScrollView contentSize y / o calcular la escala del zoom
let image = UIImage(named: "testImage")
imageView.image = image
imageView.sizeToFit()
scrollView.contentSize = imageView.bounds.size
myUIImageview.image = UIImage (named:"myImage.png")
UIColor * background = [[UIColor alloc] initWithPatternImage:
[UIImage imageNamed:@"anImage.png"]];
self.view.backgroundColor = background;
[background release];
Esta pregunta ya tenía muchas respuestas. Lamentablemente, ninguno funcionó para mí. Entonces, en aras de completenes, agrego lo que me ayudó:
Tenía varias imágenes con el mismo nombre, así que las ordené en subcarpetas. Y tenía la ruta completa al archivo de imagen que quería mostrar. Con una ruta completa imageNamed:
(como se usa en todas las soluciones anteriores) no funcionó y fue el método incorrecto.
En cambio, ahora uso imageWithContentsOfFile:
así:
self.myUIImage.image = [UIImage imageWithContentsOfFile:_currentWord.imageFileName];
No sé, si alguien lee tan lejos?
Si es así, este te ayudó: vota. ;-)
Para configurar la imagen en su imageView use la siguiente línea de código,
self.imgObj.image=[UIImage imageNamed:@"yourImage.png"];