2 vikeytoy vikeyToy 于 2012.11.12 10:10 提问

在动画播放期间让按钮可以使用

在应用中的CAKeyframeAnimation,代码如下:

-(IBAction)start:(id)sender {

    UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:CGPointMake(600, 150)];
    [path addLineToPoint:CGPointMake(600, 300)];
    [path addLineToPoint:CGPointMake(450, 300)];
    [path addLineToPoint:CGPointMake(450, 150)];
    [path addLineToPoint:CGPointMake(600, 150)];

    CAKeyframeAnimation *move = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    move.path = path.CGPath;
    move.duration = 6.0f;
    move.repeatCount = 100;

    [testButton.layer addAnimation:move forKey:@"move"];

怎么让动画进行的时候按钮也能用?试了好几种方法也没实现。

谢谢指教

1个回答

love_loveec
love_loveec   2012.11.12 12:52
已采纳

你要按钮在动画期间可以按,就需要自己的动画

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *t = [touches anyObject];
    CGPoint location = [t locationInView:self.view];
    for (UIButton *button in self.buttonsOutletCollection)
    {
        if ([button.layer.presentationLayer hitTest:location])
        {
            // This button was hit whilst moving - do something with it here
            break;
        }
    }
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!