Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iphone Animation: why does rotating a UILabel around X axis cut off its bottom half?

I want to rotate a UILabel around the X axis, and animating it. But when the animation starts, the text of the label is cut in two, horizontally. The bottom half disappears, the upper half is rotating. Why?

Here's the code:

CATransform3D _3Dt = CATransform3DMakeRotation(radians(90.0f), 1.0, 0.0, 0.0);

CABasicAnimation *transformAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];

transformAnimation.removedOnCompletion = NO;

transformAnimation.toValue = [NSValue valueWithCATransform3D:_3Dt];

transformAnimation.fillMode = kCAFillModeForwards;

(sdk 3.0)

like image 745
johnnyMac Avatar asked Feb 20 '10 04:02

johnnyMac


1 Answers

X axis? That means during the rotation half of the UILabel will have z > 0 (in front of the screen) and half will have z < 0 (behind the screen).

If there's other layers at z == 0 they will cover your UILabel's z < 0 half.

Try to increase your label's layer's zPosition.

like image 197
kennytm Avatar answered Oct 19 '22 07:10

kennytm