CATextLayer旋转?

时间:2012-02-13 23:12:48

标签: ios cocoa catextlayer

这应该真的有效,但不是:

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

实际上,当我在transform.rotation上打印值时,它会显示正确的答案。它只是没有绘制textLayer旋转!

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

我做错了什么?

2 个答案:

答案 0 :(得分:9)

请尝试以下代码:

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

而不是:

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

答案 1 :(得分:0)

CALayer会记住你给它的任何价值。我相信你错了,因为你需要用“transform.rotation.z”旋转。