¿Desplazando una vista con otra con una animación personalizada?

Estoy tratando de implementar SUBJ pero no puedo hacer que aparezca el destino en mi animación. Quiero hacer una animación para el cambio de vista donde la nueva secuencia desplazará a la anterior. Actualmente mi método de ejecución se ve así:

<code>- (void) perform {

UIViewController *src = (UIViewController *) self.sourceViewController;
UIViewController *dst = (UIViewController *) self.destinationViewController;

[UIView animateWithDuration:2.0
                 animations:^{

                 //tried a lot of staff to make dst view to fall from top at the same time as current view falling to bottom but failed. 

                 src.view.transform=CGAffineTransformMakeTranslation(0, 480);
                 }
                 completion:^(BOOL finished){ 
                     [[self sourceViewController] presentModalViewController:[self destinationViewController] animated:NO];
                 }
    ];
}
</code>

¿Alguna idea de cómo puedo agregar a mi animación la nueva vista que aparece desde arriba?

¡Muchas gracias!

EDITAR:

<code>- (void) perform {

    UIViewController *src = (UIViewController *) self.sourceViewController;
    UIViewController *dst = (UIViewController *) self.destinationViewController;

    src.view.transform = CGAffineTransformMakeTranslation(0, 0);
    dst.view.transform = CGAffineTransformMakeTranslation(0, -480);

    [UIView animateWithDuration:2.0
                 animations:^{
                         [src.view addSubview:dst.view];
                         src.view.transform = CGAffineTransformMakeTranslation(0, 460);

                     }
                     completion:^(BOOL finished){ 
                         [src presentModalViewController:dst animated:NO];
                     }
     ];

}
</code>

Así es como lo hice al final.

Respuestas a la pregunta(1)

Su respuesta a la pregunta