После завершения анимации хотите вызвать некоторые методы

в моем приложении iPhone

Я делаю определенные анимации. как

[UIView beginAnimations:@"stalk" context:nil];
    [UIView setAnimationDuration:1];
    [UIView setAnimationBeginsFromCurrentState:YES];
    self.frame=originalSelf;
    [UIView commitAnimations];

после завершения этой анимации я хочу tocall некоторые методы...

Я знаю что-то ABT блок анимации или

уведомление DidStopAnimation

Как это сделать.... Спасибо..

3 ответов


в iOS 4 и более поздних версиях для этой цели рекомендуется использовать блоки:

[UIView animateWithDuration:1 
                     animations:^{
                         self.frame=originalSelf;} 
                     completion:^(BOOL finished){

                        //My method call;
                     }
     ];

попробуйте использовать

[UIView beginAnimations:@"stalk" context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(afterAnimationStops)]
self.frame=originalSelf;
[UIView commitAnimations];

и затем вы можете реализовать метод

-(void)afterAnimationStops{

}

используйте этот:

animateWithDuration:animations:completion:

вот дополнительная информация: http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UIView_Class/UIView/UIView.html

вот пример:

[UIView animateWithDuration:1.0 animations:^{self.frame=originalSelf;} completion:^(BOOL finished){/*have your completion code here*/}];