Oto mój kod animacji:CATransformLayer nie obsługuje niejawnej animacji?
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
jest CATransformLayer
dwie podwarstwy, po jednym dla przodu i jeden do tyłu (Tworzę „flip” efekt). Jednak ten kod po prostu ustawia pozycję i transformuje się bez animacji. Pomyślałem więc, że być może transform
nie obsługuje niejawnej animacji, więc wyjąłem to i próbowałem ustawić pozycję, ale to też nie było animowane (i wiem na pewno, że position
obsługuje niejawną animację).
Czy robię coś złego, czy też nie obsługuję niejawnej animacji? Dokumentacja nie mówi nic o tym, nie wspierając go, więc zakładam, że tak.
EDIT: To jest dla systemu Mac OS X, nie iOS
Czy próbowałeś użyć wyraźnej animacji? –