MENU
コンテンツ再構築中

Objective-C:アフィン変換の起点を変更する

オブジェクトのスケールや位置を変更し、アニメーションさせたりする場合にお世話になるアフィン変換をメモ。

INDEX

アフィン変換の起点を変更する

ObjectNameというオブジェクトの大きさを、アフィン変換メソッドCGAffineTransformを使って2倍にしたい場合は

[code]
ObjectName.transform = CGAffineTransformMakeScale(2,2);
[/code]

とすればいいが、この場合、変形の起点はオブジェクトの中心からとなる。

左端を起点としたい場合は、UIKitフレームワークをインポートし、アンカーポイントを定義することで、そのアンカーポイントを起点とした変形が実行される。

[code]
//.hファイル
#import <UIKit/UIKit.h>

//.mファイル
ObjectName.layer.anchorPoint= CGPointMake(0,0.5);
ObjectName.transform = CGAffineTransformMakeScale(2,2);
[/code]

この場合は、左端から2倍に拡大される。

Please share it!
  • URLをコピーしました!
  • URLをコピーしました!
INDEX