我有几个按钮可以为视图设置动画,使其在不同方向上滑动屏幕,但如果我按下两个按钮,旧动画停止并且新动画开始,然后当我释放新按下按钮时旧动画重新开始。我想知道是否有可能同时运行两个动画,如果是这样的话?
以下是我正在使用的代码:
-(void) click {
if (!self.animating) {
self.animating = YES;
timer = [CADisplayLink displayLinkWithTarget:self selector:@selector(move)];
[timer setFrameInterval:1];
[timer addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
}
}
- (void) cancelClick {
self.animating = NO;
[timer invalidate];
}
-(void) move {
CGPoint origin = self.target.frame.origin;
if ([self.direction isEqual:@"left"]) {
origin.x -= self.magnitude;
} else if ([self.direction isEqual:@"right"]) {
origin.x += _magnitude;
} else if ([self.direction isEqual:@"up"]) {
origin.y -= _magnitude;
} else {
origin.y += _magnitude;
}
[self.target move:0 toPoint:origin animated:NO delay:0 animationOptions:UIViewAnimationOptionCurveLinear];
}
提前致谢