开发者

Cocoa setAnimationDidStopSelector

开发者 https://www.devze.com 2022-12-15 15:03 出处:网络
Currently I have this code that works fine [UIView setAnimationDidStopSelector:@selector(animationDone:finished:context:)];

Currently I have this code that works fine

[UIView setAnimationDidStopSelector:@selector(animationDone:finished:context:)];

- (void)animationDone:(NSString *)animationID finished:(BOOL)finished context:(void *)context {
// do stuff here
}

Logging the value of animationID gives me a null.

How can I pass value to the @selector?

I tried

[UIView setAnimationDidStopSelec开发者_运维百科tor:@selector(animationDone:@"animation1"finished:context:)];

That gives me an error.

Thanks, Tee


The string passed to the selector is the one you use in this method call:

[UIView beginAnimations:@"your_animation_name_here" context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
// whatever changes here
[UIView commitAnimations];

Afterwards, you can do this:

- (void)animationFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context
{
    if ([animationID isEqualToString:@"your_animation_name_here"])
    {
        // something done after the animation
    }
}
0

精彩评论

暂无评论...
验证码 换一张
取 消