在动画中设置旋转方向时出现问题

时间:2013-07-29 06:51:52

标签: ios objective-c cocoa-touch

我有2个UIView,我想以不同的方向旋转它们。这是我的代码

    - (void)viewDidLoad
{
    [super viewDidLoad];
    // middleView and bigView are outlets of UIView
    self.middleView.transform=CGAffineTransformMakeRotation(M_PI);
    self.bigView.transform=CGAffineTransformMakeRotation(-M_PI);
}

- (IBAction)smallTouched:(id)sender {
    [UIView animateWithDuration:0.5 animations:^{
        self.middleView.transform=CGAffineTransformMakeRotation(0);
        self.bigView.transform=CGAffineTransformMakeRotation(0);

    }];
}

两个视图都以反时钟方向旋转。我不知道为什么。

1 个答案:

答案 0 :(得分:1)

因为sin(PI)== sin(-PI)和cos(PI)== cos(-PI),CGAffineTransformMakeRotation(M_PI)等于CGAffineTransformMakeRotation(-M_PI)。您可以尝试M_PI * 179.9 / 180-M_PI * 179.9 / 180或类似的东西。