/ / CATransform3D nie działa poprawnie - iphone, ios, catransform3d

CATransform3D nie działa poprawnie - iphone, ios, catransform3d

CATransform3D nie działa poprawnie, używamponiższy kod. Mój problem polega na tym, że jeśli zmienię transformację, działa dobrze. Gdy puszczę palec, a następnie dokonam większej transformacji, obraz przechodzi do obrazu początkowego. Jak ustawić ostatnią transformację? Używam PanGesture do transformacji. Proszę, daj jakiś pomysł. Z góry dziękuję.

if ([recognizer respondsToSelector:@selector(translationInView:)]) {
CGPoint translation = [(UIPanGestureRecognizer *)recognizer translationInView:recognizer.view.superview];
CALayer *layer = self.layer;
CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 = 1.0 / -500;
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, translation.x * M_PI / 180.0f, 0.0f, 1.0f, 0.0f);
layer.transform = rotationAndPerspectiveTransform;
rotationAndPerspectiveTransform.m34 = 1.0 / -500;
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, -translation.y * M_PI / 180.0f, 1.0f, 0.0f, 0.0f);
layer.transform = rotationAndPerspectiveTransform;
}

Odpowiedzi:

0 dla odpowiedzi № 1

CATransform3DIdentity oznacza, że ​​resetujesz transformację za każdym razem, gdy Twój widok jest dotykany. Posługiwać się CATransform3D rotationAndPerspectiveTransform = layer.transform; zamiast.