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".