オブジェクトのスケールや位置を変更し、アニメーションさせたりする場合にお世話になるアフィン変換をメモ。
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倍に拡大される。