CATextLayer вращается? - PullRequest
       15

CATextLayer вращается?

3 голосов
/ 14 февраля 2012

Это действительно должно работать, но это не так:

CATextLayer* textLayer = [CATextLayer layer];
textLayer.string = @"text";
[textLayer setValue:[NSNumber numberWithDouble:M_PI / 2.f forKey:@"transform.rotation"];
[self addSublayer:textLayer];

на самом деле, когда я печатаю значение в transform.rotation, он показывает правильный ответ. он просто не рисует повернутый текстовый слой!

NSLog(@"rotation %@", [textLayer valueForKey:@"transform.rotation"]);

Что я делаю не так?

Ответы [ 2 ]

9 голосов
/ 14 февраля 2012

Попробуйте следующий код:

textLayer.transform = CATransform3DMakeAffineTransform(CGAffineTransformMakeRotation(M_PI_2));

вместо:

[textLayer setValue:[NSNumber numberWithDouble:M_PI / 2.f forKey:@"transform.rotation"];
0 голосов
/ 14 февраля 2012

CALayer запомнит любое значение, которое вы ему дадите.Я полагаю, что вы ошибаетесь, потому что вам нужно повернуть с помощью «transform.rotation.z».

...