如何将子视图旋转x度?

时间:2011-01-13 10:37:33

标签: iphone objective-c

所以我想将子视图旋转x度(或至少90度)。我希望子视图围绕子视图的右下角旋转。是否有可能像下图中的动画那样做?

alt text

谢谢!

2 个答案:

答案 0 :(得分:2)

CGAffineTransform transform = 
    CGAffineTransformMakeRotation(angle);

yourSubView.transform = transform;

答案 1 :(得分:2)

哟可以组成变换。首先转换为旋转原点,然后旋转,然后转换回原始中心。你正在旋转的视图是v。它只是为了好玩而在动画中。

[UIView beginAnimations:nil context:NULL];
CGAffineTransform t = CGAffineTransformIdentity;
t =CGAffineTransformTranslate(t,- v.bounds.size.width/2,  -v.bounds.size.height/2);
t =  CGAffineTransformRotate(t, -M_PI/2);
t =CGAffineTransformTranslate(t,v.bounds.size.width/2, v.bounds.size.height/2);
v.transform = t;
[UIView commitAnimations];