cuadro de animation en 3D para el menu lateral

Tengo scrollview y scrollview interior Tengo 2 vistas como MainView y otra como SideMenuView.

Lo que quiero hacer la animation como a continuación.

introduzca la descripción de la imagen aquí

¿Alguna idea de lo que hay que hacer para que esto funcione?

Código Psuedo a continuación:

- (void)animateSideMenu{ homeView.frame = CGRectMake(sideMenuWidth, 0.0, (self.view.frame.size.width - sideMenuWidth), self.view.frame.size.height); [UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{ sideMenu.frame = CGRectMake(0.0, 0.0, sideMenuWidth, sideMenuHeight); [self flipAnimation]; } completion:^(BOOL finished) { }]; } - (void)flipAnimation{ CABasicAnimation *yRotate = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"]; yRotate.fromValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI_2, 0, 1, 0)]; yRotate.toValue = @(M_PI * 1.5); yRotate.duration = 0.5; yRotate.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; [sideMenu.layer addAnimation:yRotate forKey:@"yRotate"]; } 

A continuación se presentan los pasos para desarrollar este tipo de animation:

  1. configure el marco de homeView (vista en color rojo) del tamaño de la pantalla y agregue el gesto de panoramización a esta vista.
  2. Establezca el marco de la vista sideMenu en el eje x negativo.
  3. Cree una function de respuesta para el reconocimiento de gestos panorámicos, en esta function llame a la function animateSideMenu mencionada anteriormente.
  4. Ajuste los parameters de animation de acuerdo con esto.

Prueba con esto y avísame si surge algo.

No utilizaría una vista de desplazamiento, sino un UIPanGestureRecognizer en el que detectaría su actual "desplazamiento panorámico" y calcularía una fracción actual de la animation y las posiciones de esas dos vistas (simplifíquelo para que el menu sea view1 y el rest view2) . Entonces simplemente establecería una transformación apropiada en el estado .Changed. En estado avanzado, vería si el menu está más cerca de abrirse o cerrarse y crear una animation con .toValue configurado en consecuencia. Deberías usar CAAnimations o mejor – animaciones de Facebook pop porque puedes pausarlas y eliminarlas, y las vistas se mantienen y no saltan a sus posiciones iniciales (como suele ser el caso con UIViewAnimate).

Si necesita ayuda para escribir un código exacto, puede escribir aquí y editaré mi respuesta.

Hay un tutorial para exactamente ese menu, aunque está en Swift: https://www.raywenderlich.com/87268/3d-effect-taasky-swift