iphone Animation: why does rotating a UILabel arou

2019-02-09 21:47发布

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)

1条回答
霸刀☆藐视天下
2楼-- · 2019-02-09 22:29

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.

查看更多
登录 后发表回答