开发者社区> 问答> 正文

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

在应用中的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"];

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

展开
收起
爵霸 2016-05-27 11:25:00 1737 0
1 条回答
写回答
取消 提交回答
  • 你要按钮在动画期间可以按,就需要自己的动画

    - (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;
            }
        }
    }
    2019-07-17 19:17:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
全景视频的播放及优化 立即下载
3D动画的菜谱式灯光与云渲染 立即下载
低代码开发师(初级)实战教程 立即下载