我已将下面两种方法连接到我的UI中的单独按钮,但注意到在按下"VERSION 1"按钮后,我无法再次按下按钮,直到方法中的动画持续时间结束.我的理解是,动画使用自己的线程,以免阻止主应用程序.
// VERSION 1
-(IBAction)fadeUsingBlock {
NSLog(@"V1: Clicked ...");
[myLabel setAlpha:1.0];
[UIView animateWithDuration:1.5 animations:^{
[myLabel setAlpha:0.0];
}];
}
较旧的版本(如下)允许在动画计时器结束前按下按钮,只需重置计时器即可重新启动.如果这两个功能相同,我是否遗漏了什么,或者3.2和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];
}
干杯,加里