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?
Mais pourquoi self.view peut taper cast sur PlayerView? –
Parce qu'il a été instancié comme un dans la Nib? –