0

我正在编写一个 MonoTouch iOS 应用程序。

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

我不知道该怎么做。

我尝试的一件事是将这些按钮放在 UIView 内,然后将 Transform 设置为 CGAffineTransform.MakeRotation,但它围绕 UIView 的中心旋转。我还尝试让这个父 UIView 比它需要的更宽,以便组中最右边的按钮位于 UIView 的中心。这适用于旋转,但是作为父 UIView 右半部分的大空白部分覆盖了我需要可见的主视图上的其他按钮。

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

4

1 回答 1

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);
于 2012-04-28T20:54:11.453 回答