一次显示多个CADisplayLink动画

时间:2014-04-18 16:57:47

标签: ios objective-c animation

我有几个按钮可以为视图设置动画,使其在不同方向上滑动屏幕,但如果我按下两个按钮,旧动画停止并且新动画开始,然后当我释放新按下按钮时旧动画重新开始。我想知道是否有可能同时运行两个动画,如果是这样的话?

以下是我正在使用的代码:

-(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];
}

提前致谢

0 个答案:

没有答案