can*_*boy 5 animation objective-c ios
我知道你可以使用像这样的块执行两阶段动画:
[UIView animateWithDuration:25.0 delay:0.0 options:UIViewAnimationCurveLinear animations:
^{
aView.alpha = 2.5;
}
completion:^(BOOL finished)
{
aView.hidden = YES;
}
];
Run Code Online (Sandbox Code Playgroud)
..但是如何使用块创建多级(超过2个)动画?
tip*_*low 11
使用嵌套动画:
[UIView animateWithDuration:0.5
delay:0.0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^{
//first animation
}
completion:^(BOOL finished){[UIView animateWithDuration:0.5
delay:0.0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^{
//second animation
}
completion:^(BOOL finished){//and so on..
}];}];
Run Code Online (Sandbox Code Playgroud)
或者你可以制作一个递归的多阶段动画方法:
-(void) multiStageAnimate{
[UIView animateWithDuration:0.5
delay:0.0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^{
//animation code
}
completion:^(BOOL finished){
if(/* If terminating condition not met*/)
[self multiStageAnimate];
}];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2045 次 |
| 最近记录: |