Я соединил два метода ниже для разделения кнопок в моем пользовательском интерфейсе, но заметил, что после нажатия кнопки «ВЕРСИЯ 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];
}
Приветствия Гэри