CGAffineTransformConcatの疑問
ViewControllerのviewDidLoadメソッドでラベル(UILabel)をビューに追加し、そのラベルに対して、アフィン変換で移動と回転を適用しました。
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. CGSize size = CGSizeMake(130, 30); NSString* text = @"こんにちは世界1"; UILabel* label1 = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)]; label1.text = text; [self.view addSubview:label1]; UILabel* label2 = [[UILabel alloc] initWithFrame:CGRectMake(0, 150, size.width, size.height)]; label2.text = @"こんにちは世界2"; [self.view addSubview:label2]; label2.transform = CGAffineTransformConcat(CGAffineTransformMakeRotation(90 * M_PI / 180), CGAffineTransformMakeTranslation(30, 0)); UILabel* label3 = [[UILabel alloc] initWithFrame:CGRectMake(0, 300, size.width, size.height)]; label3.text = @"こんにちは世界3"; [self.view addSubview:label3]; label3.transform = CGAffineTransformConcat(CGAffineTransformMakeTranslation(30, 0), CGAffineTransformMakeRotation(90 * M_PI / 180)); }
実行すると、以下のようになります。
疑問: "こんにちは世界2" と "こんにちは世界3" の x 座標が揃わずにずれているのは何故だろうか。どちらも移動量と回転量は同じなのに。