Ho una serie di immagini caricate in un UIImageView che sto animando attraverso un ciclo. Dopo che le immagini sono state visualizzate, vorrei chiamare uno @selector
per eliminare il controller di visualizzazione corrente. Le immagini sono animate bene con questo codice:Metodo di accesso dopo UIImageView Animation Finish
NSArray * imageArray = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"HowTo1.png"],
[UIImage imageNamed:@"HowTo2.png"],
nil];
UIImageView * instructions = [[UIImageView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
instructions.animationImages = imageArray;
[imageArray release];
instructions.animationDuration = 16.0;
instructions.animationRepeatCount = 1;
instructions.contentMode = UIViewContentModeBottomLeft;
[instructions startAnimating];
[self.view addSubview:instructions];
[instructions release];
Dopo i 16 secondi, vorrei che venisse chiamato un metodo. Ho esaminato il metodo di classe UIView
setAnimationDidStopSelector:
ma non riesco a farlo funzionare con la mia implementazione di animazione corrente. Eventuali suggerimenti?
Grazie.
Sono andato con il primo metodo, grazie. –
Questo metodo sembra funzionare bene, grazie rob! Ma mi chiedevo cosa sarebbe successo se per qualche ragione il calo del frame-rate dell'iPhone fosse molto. Diciamo da 30 a 15. In quel caso l'animazione non sarebbe finita quando il tempo del dispatch è terminato? – Tieme
Perché pensi che la frequenza di fotogrammi che scenderà renderebbe l'animazione più lunga? Forse la vista dell'immagine perde fotogrammi se non riesce a tenere il passo. –