尝试放大和缩小时出现问题从 UIButton 到 CAAnimationGroup

发布于 2024-11-09 03:41:10 字数 921 浏览 4 评论 0原文

没有动画,因为我做错了?

-(void)swipeanimateDidStop {

    for (UIView *subview in self.swipingCell.backView.subviews){
        NSLog(@"%@",subview);
        // subview is UIButton
        [subview.layer addAnimation:[self ZoomAnimation] forKey:@"Zoom"];

    }
}

-(CAAnimationGroup *)ZoomAnimation {
    CAAnimationGroup *ZoomAnimation = [CAAnimationGroup animation];
    CABasicAnimation *In = [self zoomIn];

    ZoomAnimation.animations = [NSArray arrayWithObjects: In, nil];
    ZoomAnimation.duration = 2.0f;
    return ZoomAnimation;
}

-(CABasicAnimation *)zoomIn {
    CABasicAnimation *ZoomInAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
    ZoomInAnimation.beginTime = 0.0f;
    ZoomInAnimation.fromValue = [NSNumber numberWithFloat:20.0];
    ZoomInAnimation.toValue = [NSNumber numberWithFloat:1.0];
    ZoomInAnimation.duration = 2.0f;
    return ZoomInAnimation;
}

no have animation , cause i do it incorrect ?

-(void)swipeanimateDidStop {

    for (UIView *subview in self.swipingCell.backView.subviews){
        NSLog(@"%@",subview);
        // subview is UIButton
        [subview.layer addAnimation:[self ZoomAnimation] forKey:@"Zoom"];

    }
}

-(CAAnimationGroup *)ZoomAnimation {
    CAAnimationGroup *ZoomAnimation = [CAAnimationGroup animation];
    CABasicAnimation *In = [self zoomIn];

    ZoomAnimation.animations = [NSArray arrayWithObjects: In, nil];
    ZoomAnimation.duration = 2.0f;
    return ZoomAnimation;
}

-(CABasicAnimation *)zoomIn {
    CABasicAnimation *ZoomInAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
    ZoomInAnimation.beginTime = 0.0f;
    ZoomInAnimation.fromValue = [NSNumber numberWithFloat:20.0];
    ZoomInAnimation.toValue = [NSNumber numberWithFloat:1.0];
    ZoomInAnimation.duration = 2.0f;
    return ZoomInAnimation;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔戏命师 2024-11-16 03:41:10

错误出现在 zoomIn 方法中。关键路径应该是 transform.scale (因为它是缩放)。

CABasicAnimation *ZoomInAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];

The error is in zoomIn method. The key path should be transform.scale (since it is zoom).

CABasicAnimation *ZoomInAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文