简体   繁体   English

CATextLayer旋转?

[英]CATextLayer rotate?

This should really work, but is not: 这应该真的有效,但不是:

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

in fact, when i print the value at transform.rotation, it shows the correct answer. 事实上,当我在transform.rotation上打印值时,它会显示正确的答案。 it just doesn't draw the textLayer rotated! 它只是没有绘制textLayer旋转!

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

What am I doing wrong? 我究竟做错了什么?

Try the following code: 请尝试以下代码:

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

instead of: 代替:

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

The CALayer will remember any value you give it. CALayer会记住你给它的任何价值。 I believe what you have it wrong because you need to rotate with "transform.rotation.z". 我相信你错了,因为你需要用“transform.rotation.z”旋转。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM