gpt4 book ai didi

iPhone连续动画

转载 作者:行者123 更新时间:2023-12-03 20:19:38 25 4
gpt4 key购买 nike

我想知道实现一系列不同动画的最佳方法是什么。例如,如果我调用以下方法并尝试对同一个对象进行向右、向左和向上的动画处理,则它将不起作用,因为编译器不会以线性方式处理它们,并且我最终会得到我的对象只需向上(跳过左右走的步骤):

    -(IBAction)clickStart
{
[self Animation1];
[self Animation2];
[self Animation3];

}

现在我可以做到这一点,但它对我来说有点麻烦和奇怪。考虑这是 Animation1 的方法:

[pageShadowView setFrame:CGRectMake(100, 0, CGRectGetWidth(pageShadowView.frame), CGRectGetHeight(pageShadowView.frame))];

[UIView beginAnimations:@"Animation1" context:nil]; // Begin animation
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(Animation2)];

[pageShadowView setFrame:CGRectMake(200, 0, CGRectGetWidth(pageShadowView.frame), CGRectGetHeight(pageShadowView.frame))];

[UIView commitAnimations]; // End animations

然后我可以在 Animation2 中执行相同的操作,即在完成后调用 Animation3。但说实话,这是非常困惑的,而且不是一个非常清晰的编码方法。无论如何,有没有像我一开始建议的那样获得更“线性”的代码(这不起作用),或者我只需要使用选择器方法?

感谢您的建议!

最佳答案

如果您不必支持 iOS <4:

[UIView animateWithDuration:0.2 animations:^{
// animation 1
} completion:^(BOOL finished){
[UIView animateWithDuration:0.2 animations:^{
// animation 2
} completion^(BOOL finished){
[UIView animateWithDuration:0.2 animations:^{
// animation 3
}];
}];
}]

关于iPhone连续动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5511852/

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