Đây là mã hoạt hình của tôi:CATransformLayer không hỗ trợ hoạt ảnh ngầm?
CGFloat zDistance = 850;
CGFloat scaleFactor = BACK_COVER_WIDTH/self.transformLayer.bounds.size.width;
CATransform3D rotation = CATransform3DMakeRotation(M_PI, 0.0, 1.0, 0.0);
CATransform3D scale = CATransform3DMakeScale(scaleFactor, scaleFactor, 0.0);
CATransform3D transform = CATransform3DConcat(rotation, scale);
transform.m34 = 1.0/-zDistance;
CGPoint location = CGPointMake(CGRectGetMidX(self.layer.frame), CGRectGetMidY(self.layer.frame));
[CATransaction begin];
[CATransaction setAnimationDuration:1.0];
self.transformLayer.transform = transform;
self.transformLayer.position = location;
[CATransaction commit];
self.transformLayer
là một CATransformLayer
với hai lớp con, một cho phía trước và một cho mặt sau (Tôi đang tạo ra một "lật" có hiệu lực). Tuy nhiên, mã này chỉ đặt vị trí và chuyển đổi mà không có hoạt ảnh. Vì vậy, tôi nghĩ rằng có lẽ transform
không hỗ trợ hoạt ảnh tiềm ẩn, vì vậy tôi đã thực hiện điều đó và chỉ cố gắng đặt vị trí, nhưng điều đó không làm sinh động (hoặc tôi biết chắc chắn rằng position
hỗ trợ hoạt ảnh ngầm).
Tôi có làm gì sai hoặc không CATransformLayer
không hỗ trợ hoạt ảnh ngầm? Các tài liệu không nói bất cứ điều gì về nó không hỗ trợ nó, vì vậy tôi giả định nó.
EDIT: Đây là dành cho Mac OS X, không iOS
Bạn đã thử sử dụng hoạt ảnh rõ ràng chưa? –