首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CATransform3d a UIButton

CATransform3d a UIButton
EN

Stack Overflow用户
提问于 2011-03-02 11:46:31
回答 2查看 3K关注 0票数 5

我似乎不能让一个简单的3d转换在一个按钮上工作,而且文档似乎也没有帮助。我从一个基于视图的应用程序模板开始。我添加了QuartzCore框架并将其导入到ViewController标头中。在界面构建器中,我拖出两个圆形矩形按钮,将它们分别连接到button1和button2,还将它们连接到buttonPressed:方法。

快速运行已注释掉的动画将验证是否只有单击的按钮更改其标签。

随着动画的返回,我在“setTransform= t;”行(这现在是更改为sender.layer setTransform:t;的固定行)上得到了‘sender.transform:’的参数1的类型不兼容错误。

我如何让它旋转360度。我认为问题是开始和结束状态是相同的,所以它不知道在任何地方旋转。

下面是.h (出于格式原因,我在本文中省略了导入)

代码语言:javascript
复制
@interface animation2ViewController : UIViewController {

    IBOutlet UIButton *button1;
    IBOutlet UIButton *button2;

}

-(IBAction) buttonPressed:(UIButton *)sender;

@end

和.m文件

代码语言:javascript
复制
#import "animation2ViewController.h"

@implementation animation2ViewController

-(IBAction)buttonPressed:(UIButton *)sender {

    [sender setTitle:@"new title" forState:UIControlStateNormal];
    [UIView animateWithDuration:1.0
                          delay:0.0
                        options:UIViewAnimationCurveEaseInOut
                     animations:^{
                         CATransform3D t = CATransform3DIdentity;
                         t.m34 = -1 / 1000;
                         t = CATransform3DRotate(t, 360 * M_PI / 180, 0.0, 1.0, 0.0);  //ultimately want 360 degrees but starting here first
                         [sender.layer setTransform:t];
                     } 
                     completion:^(BOOL finished) {

                     }];

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-03 02:15:54

M_PI是180°的旋转,所以这意味着你要做90次360°的旋转。

试试t = CATransform3DRotate(t, M_PI, 0.0, 1.0, 0.0);

对于设置器错误,请尝试使用[sender.layer setTransform:t];

因为你只需要变换图层

最后,你需要在最后提交动画,否则它不会有动画效果

[UIView commitAnimations];

票数 2
EN

Stack Overflow用户

发布于 2012-07-22 02:57:01

试试这个:

the

  • Rotate by 1/3 of a full rotation

  • Do

你现在可能已经弄明白了,因为你的帖子是一年前的事情了,但是对于任何有同样问题的人来说,尝试一下它应该是可行的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5163160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档