我正在制作一个CABasicAnimation,问题是animationDidStop委托方法没有被调用.我不知道为什么,但希望有人知道.
这是我的动画:
CABasicAnimation *theAnimation;
theAnimation = [CABasicAnimation animationWithKeyPath: @"transform.translation.x"];
theAnimation.duration = 54;
//theAnimation.repeatCount = 6;
theAnimation.autoreverses = YES;
theAnimation.removedOnCompletion = YES;
theAnimation.fromValue = [NSNumber numberWithFloat: (self.myImageView.frame.size.height / 5) + (self.view.frame.size.height - self.myImageView.center.x)];
theAnimation.toValue = [NSNumber numberWithFloat: 6.0 - (self.myImageView.frame.origin.y + self.myImageView.frame.size.height)];
//[self.myImageView.layer addAnimation:theAnimation forKey: @"animateLayer"];
[theAnimation setValue:@"Animation1" forKey:@"animateLayer"];
[[self.myImageView layer] addAnimation:theAnimation forKey:nil];
Run Code Online (Sandbox Code Playgroud)
这里还有我的animationDidStop方法:
- (void)animationDidStop:(CABasicAnimation *)theAnimation finished:(BOOL)flag {
NSString* value = [theAnimation valueForKey:@"animateLayer"];
if ([value isEqualToString:@"Animation1"])
{
[self themethod];
return;
}
if ([value isEqualToString:@"Animation2"])
{
[self themethod];
return;
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样?
您需要设置委托才能调用animationDidStop.
theAnimation.delegate = class (self)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5926 次 |
| 最近记录: |