3

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

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"]);

我究竟做错了什么?

4

2 回答 2

9

试试下面的代码:

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

代替:

[textLayer setValue:[NSNumber numberWithDouble:M_PI / 2.f forKey:@"transform.rotation"];
于 2012-02-13T23:31:26.283 回答
0

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

于 2012-02-13T23:19:45.840 回答