2017-02-01 20 views
0

Моя анимация может быть выполнена на нескольких разных схожих представлениях (управляется в массиве), но обработчик завершения не принимает параметр. Как тогда я могу рассказать во время завершения анимации, которую я завершаю?Параметр завершения NSAnimationContext?

следующее, что используется для анимации кадра одного (нескольких) разделов. Когда анимация будет закончена, мне нужно будет отправить уведомление в конкретный разделView.

NSLog(@"Animation started"); 

[NSAnimationContext beginGrouping]; 
[[NSAnimationContext currentContext] setDuration:kAnimationDuration]; 
[[NSAnimationContext currentContext] setCompletionHandler:^{ 
    [self doStuff]; 

    NSLog(@"Animation complete - now we need to notify the correct sectionView"); 
}]; 

[[sectionView animator] setFrame:[self frameForSectionView:sectionView]]; 

[NSAnimationContext endGrouping]; 

ответ

1

Только ссылка sectionView в блоке обработчика завершения. Или, если это переменная экземпляра, статическая или глобальная, затем создайте локальную переменную за пределами блока, инициализированную текущим значением, а затем укажите эту локальную переменную в блоке.

Блок будет фиксировать значение.