使用动画旋转小于180度的按钮

时间:2014-07-10 18:50:25

标签: ios animation rotation

按下45度时,我试图旋转按钮。我遇到的问题是,如果按钮旋转180度它可以正常工作,但如果我选择一个小于此的角度,按钮仍然会旋转,但它会在屏幕上跳跃而不是在当前位置旋转。是否有任何原因导致这种情况发生在小于180的角度,我该如何解决这个问题呢?

这是我的代码。

由于

- (void)viewDidLoad
{
angle = 45;
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (IBAction)Rotate:(id)sender {

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:2];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];


CGAffineTransform rotateTrans =
CGAffineTransformMakeRotation(angle * M_PI/180);


angle = angle + 45;

self.btnRotate.transform = rotateTrans;

[UIView commitAnimations];

}

1 个答案:

答案 0 :(得分:0)

我发现问题归结为在界面构建器中使用autolayout。每次对象转到其侧面时,自动布局会将其重新定位在屏幕上。