iphone Animation: почему вращение UILabel вокруг оси X отрезает его нижнюю половину? - PullRequest
6 голосов
/ 20 февраля 2010

Я хочу повернуть UILabel вокруг оси X и анимировать его. Но когда анимация запускается, текст надписи разрезается по горизонтали на две части. Нижняя половина исчезает, верхняя половина вращается. Почему?

Вот код:

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 Ответ

14 голосов
/ 20 февраля 2010

Ось X? Это означает, что во время вращения половина UILabel будет иметь z > 0 (перед экраном), а половина - z < 0 (за экраном).

Если на z == 0 есть другие слои, они покроют половину z < 0 вашей UILabel.

Попробуйте увеличить слой вашей метки zPosition.

...