这应该真的有效,但不是:
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"]);
我做错了什么?
答案 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”旋转。