0

以下のようにオブジェクトをスケーリングしています。

CGAffineTransform newTransform = CGAffineTransformScale(self.graphicView.transform, (graphicViewSize.width + resizeValue) / graphicViewSize.width, (graphicViewSize.height + resizeValue) / graphicViewSize.height);

これは正しくスケーリングされますが、ビューの原点位置が移動します。それを元に戻す最良の方法は何ですか? 翻訳を行うのが最善ですか?これを行うための良い方法は何ですか?変換とスケーリングを同時に行うことは可能ですか?

4

2 に答える 2

0

レイヤーのアンカーポイントプロパティを変更します。デフォルトでは、ビューがすべての方向に拡大縮小されるように中央に設定されていますが、コーナーに変更して、そのうちの1つを固定位置に維持することができます。

于 2012-10-02T07:13:45.503 に答える
0

これを使って:

CGAffineTransform newtransform = CGAffineTransformIdentity;

これは、スケーリングまたは回転する前に最初のビューが (0,0) にあった場合に機能するはずです。

于 2012-10-02T07:16:22.910 に答える