【问题标题】:Rotate UIView with offset用偏移量旋转 UIView
【发布时间】:2012-04-28 07:36:43
【问题描述】:

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

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

我不知道该怎么做。

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

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

【问题讨论】:

    标签: uiview xamarin.ios uibutton rotation


    【解决方案1】:

    您可以更改视图层的 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 2010-12-17
      • 1970-01-01
      • 2011-12-20
      • 2014-01-24
      • 1970-01-01
      相关资源
      最近更新 更多