3 回答
TA贡献1815条经验 获得超6个赞
我这样做的方法是为你的终点创建一个新的动画。设置一个非常短的持续时间,并确保使用该+setAnimationBeginsFromCurrentState:方法从当前状态开始。将其设置为YES时,将缩短当前动画。看起来像这样:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.1];
[UIView setAnimationCurve: UIViewAnimationCurveLinear];
// other animation properties
// set view properties
[UIView commitAnimations];
TA贡献1982条经验 获得超2个赞
使用:
#import <QuartzCore/QuartzCore.h>
.......
[myView.layer removeAllAnimations];
TA贡献1909条经验 获得超7个赞
停止最简单的方法都在特定视图动画,立刻,是这样的:
将项目链接到QuartzCore.framework。在代码的开头:
#import <QuartzCore/QuartzCore.h>
现在,当你想停止视频中的所有动画时,请说:
[CATransaction begin];
[theView.layer removeAllAnimations];
[CATransaction commit];
中间线本身可以工作,但是在runloop完成之前有一段延迟(“重绘时刻”)。要防止该延迟,请将命令包装在显式事务块中,如图所示。这项工作在当前的runloop中没有对该层执行任何其他更改。
- 3 回答
- 0 关注
- 1494 浏览
添加回答
举报