2010-06-10 13 views
0

Je souhaite afficher une image gif sur une sous-vue de l'iPhone. L'exemple de code glgif montre l'image gif sur la vue racine du contrôleur, mais quand je fais les modifications suivantes, l'application vient plante:Comment afficher gif sur une sous-vue dans l'iPhone en utilisant glgif?

IBOutlet UIView *gifView; // gifView is added as a subview of controller's root view 

//PlayerView *plView = (PlayerView *)self.view; 
PlayerView *plView = (PlayerView *)gifView; 

// Load test.gif VideoSource 
NSString *str = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"gif"]; 
FILE *fp = fopen([str UTF8String], "r"); 
VideoSource *src = VideoSource_init(fp, VIDEOSOURCE_FILE); 
src->writeable = false; 

// Init video using VideoSource 
Video *vid = [[GifVideo alloc] initWithSource:src inContext:[plView context]]; 
VideoSource_release(src); 

// Start if loaded 
if (vid) { 
    [plView startAnimation:vid]; 
    [vid release]; 
    return; 
} 

// Cleanup if failed 
fclose(fp); 

Maintenant, les application se bloque dans cette ligne: Video *vid = [[GifVideo alloc] initWithSource:src inContext:[plView context]]; avec le message d'erreur: -[UIView context]: unrecognized selector sent to instance . Des idées sur la façon d'ajouter le plView à la sous-vue correctement?

Répondre

0

On dirait que plView est un UIView, pas un PlayerView, et n'a pas de méthode appelée "contexte".

+0

Mais pourquoi self.view peut taper cast sur PlayerView? –

+0

Parce qu'il a été instancié comme un dans la Nib? –