2012-04-28 79 views
0

我正在写一个MonoTouch iOS应用程序。用偏移旋转UIView

我在我的主视图上有一组4个UIButton。它们或多或少处于水平行。我想将它们旋转一个角度(-90到+90度之间)作为一组,最右边的按钮是这组按钮的“锚点”。

我不知道如何做到这一点。

我试过的一件事是我把这些按钮放在一个UIView中,然后将该变换设置为一个CGAffineTransform.MakeRotation,但它围绕着UIView的中心旋转。我也试着让这个父UIView比它需要的更宽,这样组中最右边的按钮就在UIView的中心。这对于旋转起作用,但随后是父UIView右半部分的大空白部分覆盖了我主视图上需要可见的其他按钮。

所以我的问题是如何旋转UIView的UIButton,其中旋转是围绕不是UIButton或UIView的中心点?

回答

3

您可以更改视图图层的AnchorPoint以及Position来补偿由于设置AnchorPoint而产生的移位。例如,假设你有一个名为ButtonGroup的包含按钮的视图。下面的代码将其旋转90度左右视图的左下角:

ButtonGroup.Layer.Position = new PointF(ButtonGroup.Frame.Left, ButtonGroup.Frame.Bottom); 
ButtonGroup.Layer.AnchorPoint = new PointF (0,1);    
ButtonGroup.Layer.AffineTransform = CGAffineTransform.MakeRotation((float)Math.PI/-2); 
+0

甜。谢谢! – user856232 2012-04-29 01:12:58