CATextLayer вращается?

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

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 ответа

Решение

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

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

вместо:

[textLayer setValue:[NSNumber numberWithDouble:M_PI / 2.f forKey:@"transform.rotation"];

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

Другие вопросы по тегам