为什么我的所有NSLog都会一次运行?
我的理解是每一个应该相隔一秒钟。这是不正确的?
[UIView animateKeyframesWithDuration:5.0 delay:0.0 options:0 animations:^{
[UIView addKeyframeWithRelativeStartTime:0.0 relativeDuration:1 animations:^{
NSLog(@"1");
}];
[UIView addKeyframeWithRelativeStartTime:1 relativeDuration:1 animations:^{
NSLog(@"2");
}];
[UIView addKeyframeWithRelativeStartTime:2 relativeDuration:1 animations:^{
NSLog(@"3");
}];
[UIView addKeyframeWithRelativeStartTime:3 relativeDuration:1 animations:^{
NSLog(@"4");
}];
[UIView addKeyframeWithRelativeStartTime:4 relativeDuration:1 animations:^{
NSLog(@"5");
}];
[UIView addKeyframeWithRelativeStartTime:5 relativeDuration:1 animations:^{
NSLog(@"6");
}];
} completion:nil];
这是我的日志:
2015-03-28 14:10:52.409 AppName[636:80664] 1
2015-03-28 14:10:52.409 AppName[636:80664] 2
2015-03-28 14:10:52.409 AppName[636:80664] 3
2015-03-28 14:10:52.409 AppName[636:80664] 4
2015-03-28 14:10:52.410 AppName[636:80664] 5
2015-03-28 14:10:52.410 AppName[636:80664] 6
答案 0 :(得分:0)
您的relativeStartTime错误,此值应为0.0到1.0,这是整个持续时间的百分比。
请参阅Apple对此功能的评论:
开始时间和持续时间是0.0到1.0之间的值,指定相对于关键帧动画总时间的时间和持续时间
或
启动指定动画的时间。此值必须在0到1的范围内,其中0表示整个动画的开头,1表示整个动画的结束。例如,对于持续时间为两秒的动画,指定开始时间为0.5会导致动画在整个动画开始后的一秒钟内开始执行。
参考:see more