J'ai branché les deux méthodes ci-dessous pour séparer les boutons dans mon INTERFACE, mais ont remarqué qu'après avoir appuyé sur la "VERSION 1" bouton que je ne pouvais pas appuyer sur le bouton jusqu'à ce que le animation durée dans le cadre de la méthode est terminée. Ma compréhension est que l'animation utilise son propre thread afin de ne pas bloquer l'application principale.
// VERSION 1
-(IBAction)fadeUsingBlock {
NSLog(@"V1: Clicked ...");
[myLabel setAlpha:1.0];
[UIView animateWithDuration:1.5 animations:^{
[myLabel setAlpha:0.0];
}];
}
L'ancien style de la version (ci-dessous) ne permet pas de bouton pour être réprimés avant de l'animation de la minuterie se termine, il suffit de réinitialiser la minuterie pour démarrer de nouveau. Si ces deux fonctionnent de la même, suis-je raté quelque chose ou a-t-il eu un changement dans le fonctionnement entre 3,2 et 4?
// VERSION 2
-(IBAction)fadeUsingOld {
NSLog(@"V2: Clicked ...");
[myLabel setAlpha:1.0];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[myLabel setAlpha:0.0];
[UIView commitAnimations];
}
Vive gary