gpt4 book ai didi

iphone - 如何创建多阶段 UIImageView 动画?

转载 作者:行者123 更新时间:2023-12-03 19:34:05 24 4
gpt4 key购买 nike

我正在尝试制作多阶段动画,以便 UIImageView (1) 淡入、(2) 移动、(3) 滑出屏幕。

似乎只有第一阶段有效。我究竟做错了什么?代码如下:

// FIRST PART - FADE IN
-(void)firstAnim
{
// 'sprite' is a UIImageView
[sprite setAlpha:0.1f];
[UIView beginAnimations:@"anim1" context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.25];
[UIView setAnimationDidStopSelector:@selector(secondAnim)];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[sprite setAlpha:1.0f];
[UIView commitAnimations];
}


// SECOND PART - MOVE
-(void)secondAnim
{
[UIView beginAnimations:@"anim2" context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDidStopSelector:@selector(thirdAnim)];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
sprite.frame = CGRectMake(170, 184, 20, 20);
[UIView commitAnimations];
}

// THIRD PART - SLIDE OFF SCREEN
-(void)thirdAnim
{
[UIView beginAnimations:@"anim3" context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
sprite.frame = CGRectMake(170, 420, 20, 20);
[UIView commitAnimations];
}

最佳答案

您需要添加一个调用来将自己设置为动画委托(delegate):

[UIView setAnimationDelegate:self];

最好在最后一个动画 block 中取消将自己设置为委托(delegate)(设置为 nil)。

关于iphone - 如何创建多阶段 UIImageView 动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/997982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com