CAKeyframeAnimation *countanimation = [CAKeyframeAnimation animation];NSArray *images = [NSArray arrayWithObjects:(ID)[UIImage imagenamed:@"number3"].CGImage,(ID)[UIImage imagenamed:@"number2"].CGImage,(ID)[UIImage imagenamed:@"number1"].CGImage,nil];[countanimation setKeyPath:@"contents"];[countanimation setValues:images];[countanimation setCalculationMode:kCAAnimationdiscrete];[countanimation setDuration:3.0f];[countanimation setDelegate:self];[countanimation setautoreverses:NO];[countanimation setRemovedOnCompletion:NO];[countanimation setValue:@"Countdown" forKey:@"name"];[countDown addAnimation:countanimation forKey:nil];
并希望在动画停止时隐藏图层:
- (voID)animationDIDStop:(CAAnimation *)anim finished:(BOol)flag{ if([[anim valueForKey:@"name"] isEqual:@"Countdown"]) { [countDown setHIDden:YES]; ... }}
问题是图层使用原始图像(number3)闪烁一次,然后隐藏.
我想知道为什么图层会回到原始图层,即使我将removedOnCompletion设置为NO.
解决方法 您可以将FillMode属性与removedOnCompletion属性结合使用,以在repeatCount结束后将第一帧设置回其内容.[countanimation setFillMode:kCAFillModeBoth];[countanimation setRemovedOnCompletion:NO];
我认为这两行代码可以帮助您获得所需的结果.
总结以上是内存溢出为你收集整理的ios – CAKeyframeAnimation:内容在停止时更改回第一个图像全部内容,希望文章能够帮你解决ios – CAKeyframeAnimation:内容在停止时更改回第一个图像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)