2012-04-02 22 views
7

Como dice el título, estoy tratando de crear un UIImage que vaya dentro de un UIImageView (para que pueda animarlo más tarde) luego quiero poner ese UIImageView en otras clases UIView.¿Cómo puedo agregar programáticamente un UIImage a un UIImageView y agregar ese UIImageView a otro UIView?

Hasta ahora mi código en cuestión es:

Este es el viewDidLoad para mi controlador de vista raíz:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 
    self.playerViewController = [[TUKIPlayerViewController alloc] init]; 
    [self.view addSubview:playerViewController.view]; 
} 

Y este es el inicio de la UIImageView:

- (id)init 
{ 
    if (self = [super init]) { 
     playerIdle = [UIImage imageNamed:@"playerIdle.png"]; 
     playerView = [[UIImageView alloc] initWithImage:playerIdle]; 
     self.view = playerView; 
    } 
    return self; 
} 

Construye y se ejecuta con 0 errores.

¿Qué estoy haciendo mal? No veo el playerIdle.png en ningún lado. Aunque apuesto a que estoy haciendo esto terriblemente mal. ¡Por favor ayuda!

+0

¿Cuál es el nombre de clase personalizado 'UIImageView'? ¿Cómo estás iniciando la imagen? – Ilanchezhian

+0

El UIImageView es una propiedad de TUKIPlayerViewController. Y el UIImageView se está inicializando dentro del init de TUKIPlayerViewController, donde dice playerView = [[UIImageView alloc] initWithImage: playerIdle]; – Jarrod

Respuesta

13

En su ViewController, añadir el imageview directamente ...

- (void)viewDidLoad 
{ 
    playerView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"playerIdle.png"]]; 
    [self.view addSubView: playerView]; 
} 
+0

¡Ah, gracias! Sabía que sería algo simple como esto: D Muchísimas gracias a todos por sus respuestas, esto me ayuda mucho :)/relief – Jarrod

4

Prueba esto:

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"name.png"]]; 
[self.view addSubview:imgView]; 
4

intento de Pls el código de abajo:

- (id)init 
{ 
    if (self = [super init]) { 
     playerIdle = [UIImage imageNamed:@"playerIdle.png"]; 
     playerView = [[UIImageView alloc] initWithImage:playerIdle]; 
     [self.view addSubview:playerView]; 
    } 
return self; 
} 

la esperanza que esto podría ayudarle .....

1

Debe usar [self.view addSubview:playerView]; en lugar de simplemente configurarlo (self.view = playerview;). Lo que también me hago la mayor parte de las veces está trayendo que subvista al frente:

[self.view bringSubviewToFront:playerView]; 

creo que sirve

0

O usted podría intentar: myUIImageViewObject.image = myUIImageObject;

0

UIImageView * imgView = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @ "name.png"]]; imagView.frame = CGRectMake (40,130,45,45);

[self.view addSubview: imgView];

+0

Si bien su respuesta puede resolver la pregunta, siempre es mejor si puede proporcionar una descripción de lo que el problema era y cómo tu respuesta lo resuelve. Esta es una sugerencia para mejorar aún más esta y futuras respuestas. –

Cuestiones relacionadas