2012-04-02 14 views
7

Come dice il titolo, sto cercando di creare un UIImage che andrà all'interno di un UIImageView (in modo che possa animarlo in seguito), quindi voglio mettere quello UIImageView in un'altra classe UIView.Come aggiungere un UIImageView a UIImageView in modo programmatico, quindi aggiungere UIImageView a un altro UIView?

Finora il mio codice in questione è:

Questa è la viewDidLoad per mio punto di vista principale regolatore:

- (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]; 
} 

e questo è l'init per il UIImageView:

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

Costruisce e funziona con 0 errori.

Cosa sto sbagliando? Non vedo il playerIdle.png da nessuna parte. Anche se scommetto che sto sbagliando tutto questo. Per favore aiuto!

+0

Qual è il nome della classe personalizzata 'UIImageView'? Come stai iniziando la visualizzazione di immagini? – Ilanchezhian

+0

UIImageView è una proprietà di TUKIPlayerViewController. E UIImageView viene inizializzato all'interno dell'iniz di TUKIPlayerViewController, dove dice playerView = [[UIImageView alloc] initWithImage: playerIdle]; – Jarrod

risposta

13

Nel vostro ViewController, aggiungere l'ImageView direttamente ...

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

Ah grazie! Sapevo che sarebbe stato qualcosa di semplice come questo: D Enorme grazie a tutti per le vostre risposte, questo mi aiuta molto :)/sollievo – Jarrod

4

Prova questo:

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

Pls provare il codice qui sotto:

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

Spero che questo potrebbe aiutare .....

1

Dovresti usare [self.view addSubview:playerView]; invece di impostarlo (self.view = playerview;). Quello che faccio anche il più delle volte sta portando che visualizzazione secondaria al fronte:

[self.view bringSubviewToFront:playerView]; 

Speranza che aiuta

0

Oppure si potrebbe provare: 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

Mentre la vostra risposta può risolvere la domanda, è sempre meglio se potete fornire una descrizione di ciò che il problema era e come la tua risposta lo risolve. Questo è un suggerimento per migliorare ulteriormente questa e le future risposte. –