Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 卡巴斯基化在开始之前就停止了?_Objective C_Xcode_Core Animation_Caanimation - Fatal编程技术网

Objective c 卡巴斯基化在开始之前就停止了?

Objective c 卡巴斯基化在开始之前就停止了?,objective-c,xcode,core-animation,caanimation,Objective C,Xcode,Core Animation,Caanimation,我需要穿上我的CALayers。这是我的密码: for(int i = 0; i < viewArray.count; i++) { CABasicAnimation *fadeIn = [CABasicAnimation animationWithKeyPath:@"opacity"]; fadeIn.duration = 0.3; fadeIn.beginTime = i; fadeIn.fromValue

我需要穿上我的CALayers。这是我的密码:

    for(int i = 0; i < viewArray.count; i++)
    {
        CABasicAnimation *fadeIn = [CABasicAnimation animationWithKeyPath:@"opacity"];
        fadeIn.duration = 0.3;
        fadeIn.beginTime = i;
        fadeIn.fromValue = [NSNumber numberWithFloat:0.0];
        fadeIn.toValue = [NSNumber numberWithFloat:0.8];
        fadeIn.removedOnCompletion = NO;
        fadeIn.delegate = self;
        [((CALayer*)[viewArray objectAtIndex:i]) addAnimation:fadeIn forKey:nil];
    }
for(int i=0;i

但是,只有前两个对象正确淡入淡出,所有其他对象根本不淡入淡出。我注意到,当我在animationDidStop上设置断点时,大多数尚未开始的动画都已停止(甚至应该在中开始60秒的动画也会在前几秒钟内停止)。我不太清楚到底发生了什么。当我手动将每个CALayer的不透明度设置为1时,我可以正确地看到它,但在设置动画时却看不到它。

您正在同时启动所有动画,因为对
addAnimation:forKey:
的调用不会同步地等待动画完成

我已经检查过了,看来你必须按照下面的方式设置开始时间

fadeIn.beginTime = CACurrentMediaTime() + i;

作品虽然我得到了一些奇怪的动画,但至少它确实延迟了。谢谢您是否试图同时执行所有动画?还是一个接一个?都不是。每次开始淡入淡出之间只有一点延迟。@Ninja I在动画之间也有奇怪的时间偏移。我通过设置
.beginTime=caccurrentMediaTime()+I解决了这个问题用于每个动画。您正在为多少个对象设置动画?