Core animation 关键帧动画
嗨,我正在从多个图像创建关键帧动画。我的问题是,我希望动画能立即从一个图像切换到下一个图像,而不是淡入淡出Core animation 关键帧动画,core-animation,cakeyframeanimation,Core Animation,Cakeyframeanimation,嗨,我正在从多个图像创建关键帧动画。我的问题是,我希望动画能立即从一个图像切换到下一个图像,而不是淡入淡出 CALayer *animLayer = [CALayer layer]; animLayer.bounds = CGRectMake(0, 0, width, height); animLayer.position = CGPointMake(0, 0); CAKeyframeAnimation *customFrameAnimation = [CAKe
CALayer *animLayer = [CALayer layer];
animLayer.bounds = CGRectMake(0, 0, width, height);
animLayer.position = CGPointMake(0, 0);
CAKeyframeAnimation *customFrameAnimation = [CAKeyframeAnimation animationWithKeyPath:@"contents"];
NSArray *sizeValues = [NSArray arrayWithObjects:(id)image1, (id)image2, nil];
NSArray *times = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0.0f], [NSNumber numberWithFloat:0.5f], nil];
NSArray *timingFunctions = [NSArray arrayWithObjects: [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault], [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault], nil];
[customFrameAnimation setValues:sizeValues];
[customFrameAnimation setKeyTimes:times];
customFrameAnimation.duration=5.0;
customFrameAnimation.beginTime = 1e-100;
customFrameAnimation.fillMode = kCAFillModeRemoved;
customFrameAnimation.timingFunctions = timingFunctions;
customFrameAnimation.removedOnCompletion = YES;
[animLayer addAnimation:customFrameAnimation forKey:nil];
提前感谢。您的动画需要将其计算模式设置为kCAAnimationDiscrete 查看描述如何使用calculationMode的: 关键时刻中的适当值 数组依赖于 calculationMode属性
- 如果calculationMode设置为 kCAAnimationLinear,中的第一个值 数组必须是0.0和最后一个 值必须为1.0。价值观是 在指定的关键帧之间插值 时代
- 如果设置了calculationMode 要kCAAnimationDiscrete,第一个 数组中的值必须为0.0
- 如果 calculationMode设置为 kCAAnimationPaced或 关键时刻 数组被忽略
在Mac OS X v10.5及更高版本中提供。 在CAAnimation.h.中声明 kCAAnimationDiscrete 每个关键帧值依次使用,不进行插值 计算值。 可在 Mac OS X v10.5及更高版本。 在CAAnimation.h.中声明 kCAAnimationPaced 对关键帧值进行插值以生成偶数 整个动画的配速。
在Mac OS X v10.5及更高版本中提供。 在CAAnimation.h.中声明 换句话说,离散计算模式使动画跳转到每个关键帧,而不是动画/过渡到关键帧 致以最良好的祝愿