iOS:动画项目两次

Posted

技术标签:

【中文标题】iOS:动画项目两次【英文标题】:iOS: Animate item twice 【发布时间】:2013-04-29 20:19:44 【问题描述】:

刚开始使用核心图形。玩一个简单的按钮和标签。我希望这个标签在每次单击按钮时旋转 180 度。它仅在第一次单击时产生动画(但是,控制台在每次单击时都会写入“DONE”)

- (IBAction)btnTest:(id)sender


    [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^

        lblTest.layer.transform = CATransform3DMakeRotation(M_PI,0.0,1.0,0.0);

    completion:^(BOOL finished) 
        if(finished)
            NSLog(@"DONE");
    ];

【问题讨论】:

【参考方案1】:

它不起作用的原因是在第一次按下按钮时,视图旋转设置为 180 度。在第二个按钮按下时,您再次将旋转设置为 180 度,但由于这与旋转的当前值相同,因此没有任何反应。您真正想要做的是将旋转设置为 180 度 + 当前旋转。您可以通过以下更改将当前变换旋转 180 度来实现此目的。

lblTest.layer.transform = CATransform3DRotate(lblTest.layer.transform, M_PI,0.0,1.0,0.0);

【讨论】:

以上是关于iOS:动画项目两次的主要内容,如果未能解决你的问题,请参考以下文章

项目选择需要在vue js多选中点击IOS两次

iOS项目开发实战——制作视图的缩放动画

我可以在 IOS 项目的 LaunchScreen 上显示动画吗?

iOS-一个弹出菜单动画视图开源项目分享

iOS 开源项目

iOS 开源项目