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

我究竟做错了什么?

请尝试以下代码:

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

代替:

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

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