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 に答える