2012-04-28 10 views
0

MonoTouch iOSアプリケーションを作成しています。オフセット付きUIViewを回転する

メインビューに4つのUIButtonのグループがあります。彼らは多かれ少なかれ水平な行にあります。私はグループとしてボタンのグループのための "アンカー"で最も右のボタンを持つ角度(-90と+90度の間)でそれらを回転させたいと思います。

私はこれを行う方法を理解できません。

私が試したことの1つは、これらのボタンをUIViewの内部に配置し、次にTransformをCGAffineTransform.MakeRotationに設定したものですが、UIViewの中心を中心に回転します。私はまた、この親のUIViewは、グループ内の最も右のボタンがUIViewの中心にあったようにする必要があるよりも広いとしようとしました。これは、回転のために働いたが、親UIViewの右半分だった大きな空白のセクションは、私の目に見えるようにする必要がある私のメインビュー上の他のボタンをカバーしています。

私の質問はどのようにUIButtonまたはUIViewの中心ではないポイントの周りに回転があるUIViewのUIButtonsを回転するのですか?

答えて

3

ビューのレイヤーのアンカーポイントを「位置」と共に変更して、アンカーポイントの設定によるシフトを補正することができます。たとえば、ボタンを含む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

Sweet。ありがとうございました! – user856232

関連する問題