2010-02-20 28 views
5

Tôi muốn xoay một nhãn UILabel xung quanh trục X và làm động nó. Nhưng khi hoạt ảnh bắt đầu, văn bản của nhãn được cắt thành hai, theo chiều ngang. Nửa dưới biến mất, nửa trên quay. Tại sao?iphone Hoạt hình: tại sao xoay một nhãn UILabel xung quanh trục X cắt nửa dưới của nó?

Dưới đây là các mã:

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)

Trả lời

13

trục X? Điều đó có nghĩa là trong nửa quay của UILabel sẽ có z > 0 (ở phía trước màn hình) và một nửa sẽ có z < 0 (phía sau màn hình).

Nếu có các lớp khác tại z == 0, chúng sẽ bao gồm một nửa số U2 của nhãn UILabel là z < 0.

Cố gắng tăng lớp của nhãn của bạn zPosition.

+0

Đó là cảm ơn! – johnnyMac

+0

Điều này rất quan trọng đối với việc chuyển đổi 3D thực thi chính xác trong các cảnh nhiều lớp. 1, đặc biệt là kể từ khi một điểm quan trọng như vậy dường như không được đề cập nhiều. Mỗi hướng dẫn nên chỉ ra điều chỉnh zPosition để tránh nhiễm chéo ... – SG1

+0

Tôi đã có cùng một vấn đề với hình ảnh xoay của tôi (UIImageView) bị cắt. Tôi không biết bao nhiêu giờ tôi đã tìm kiếm một giải pháp trước khi tôi tìm thấy câu trả lời này. Cảm ơn rất nhiều! –

Các vấn đề liên quan