我创建使用的CALayer层,并使用CABasicanimation与旋转的动画动画,并创造了二触UIButtons将它旋转左,右,我有一个问题,当层向右旋转它会回到原来的角度,并与左旋转相同
这里是我的代码:
-(void)viewDidLoad
{
//Button 1
UIButton *aButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
aButton.frame = CGRectMake(0, 0, 145, 145);
aButton.center = CGPointMake(90, 190);
aButton.backgroundColor = [UIColor redColor];
[aButton addTarget:self action:@selector(holdDown) forControlEvents:UIControlEventTouchDown];
[aButton addTarget:self action:@selector(holdRelease) forControlEvents:UIControlEventTouchUpOutside];
[aButton addTarget:self action:@selector(holdRelease) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:aButton];
//Button 2
UIButton *bButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
bButton.frame = CGRectMake(0, 0, 145, 145);
bButton.center = CGPointMake(690, 190);
bButton.backgroundColor = [UIColor redColor];
[bButton addTarget:self action:@selector(holddDown) forControlEvents:UIControlEventTouchDown];
[bButton addTarget:self action:@selector(holdReleasee) forControlEvents:UIControlEventTouchUpOutside];
[bButton addTarget:self action:@selector(holdReleasee) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:bButton];
}
-(void)holddDown{
animaEQ = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
animaEQ.toValue = [NSNumber numberWithFloat:5];
animaEQ.removedOnCompletion = NO;
animaEQ.repeatCount= HUGE_VAL;
animaEQ.duration = 2.2f;
[equaMi addAnimation:animaEQ forKey:@"blls"];
}
-(void)holdReleasee{
[equaMi removeAnimationForKey:@"blls"];
}
- (void)holdDown
{
animaEQl = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
animaEQl.toValue = [NSNumber numberWithFloat:-5];
animaEQl.removedOnCompletion = NO;
animaEQl.repeatCount= HUGE_VAL;
animaEQl.duration = 2.2f;
[equaMi addAnimation:animaEQl forKey:@"bls"];
}
- (void)holdRelease
{
[equaMi removeAnimationForKey:@"bls"];
}
任何帮助吗?
提前致谢