vikeyToy
vikeyToy
采纳率74.2%
2012-11-12 02: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 9年前

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

    - (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;
            }
        }
    }
    
    点赞 评论 复制链接分享