0

MonoTouch iOS アプリケーションを作成しています。

メイン ビューに 4 つの UIButton のグループがあります。それらは多かれ少なかれ横一列に並んでいます。ボタンのグループの「アンカー」である右端のボタンを使用して、グループとして角度 (-90 度から +90 度の間) でそれらを回転させたいと考えています。

これを行う方法がわかりません。

私が試したことの 1 つは、これらのボタンを UIView 内に配置し、Transform を CGAffineTransform.MakeRotation に設定することでしたが、UIView の中心を中心に回転します。また、この親UIViewを必要以上に広くして、グループの右端のボタンがUIViewの中央にくるようにしました。これは回転には機能しましたが、親 UIView の右半分である大きな空白のセクションは、表示する必要があるメイン ビューにある他のボタンを覆い隠します。

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

4

1 に答える 1

3

AnchorPoint の設定によるシフトを補正するために、ビューのレイヤーの AnchorPoint と Position を変更できます。たとえば、ボタンを含む 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 に答える