2010-02-25 16 views
10

iPhone/Objective-CiPhone flip subvista entre los 2 puntos de vista

En mi opinión un poco de vista "flotar" aparece cuando un usuario hace clic en un botón en la vista principal. Cuando el usuario hace clic en esta subvista, quiero que la vista secundaria de FlipFromRight a otra vista (del mismo tamaño). La vista principal debajo debe permanecer.

viewHot y viewCold son los subvistas viewMain es la principal.

¿Esto es posible?

+0

He utilizado el siguiente code..it funciona fine..but un problema .. Tengo un tableView en viewHot. Cuando se ejecuta la parte "else" aparece viewHot. Pero coldView todavía está detrás de la vista, así que cuando desplazo tableView al máximo o mínimo, se ve la vista fría ... ¿Alguna suposición? – Maulik

+0

Intenté quitarFromSuperView, oculto = SÍ, etc. pero no tengo suerte ... !!! – Maulik

Respuesta

22

Cree otra vista vacía en viewPrincipal llamada viewHover y colóquela donde desee que se muestren las vistas de desplazamiento. Luego, en IB agregue viewHot o viewCold (no ambos) como subvista de viewHover.

luego llamar a un método como este para voltear los puntos de vista:

-(void)flipViews 
{ 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1.0]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:viewHover cache:YES]; 

    if ([viewHot superview]) 
    { 
     [viewHot removeFromSuperview]; 
     [viewHover addSubview:viewCold]; 
     [viewHover sendSubviewToBack:viewHot]; 
    } 
    else 
    { 
     [viewCold removeFromSuperview]; 
     [viewHover addSubview:viewHot]; 
     [viewHover sendSubviewToBack:viewCold]; 
    } 

    [UIView commitAnimations]; 
} 
+1

Esto es excelente, muchas gracias –

+2

Este código me ayudó a presentar una pequeña vista modal. Gracias. – Sasho

+8

Solo un FYI, con los nuevos bloques de animación, la animación puede tener una línea: [UIView transitionFromView: viewHot toView: viewCold duration: 1.f options: UIViewAnimationOptionTransitionFlipFromLeft completion: nil]; – yuf

Cuestiones relacionadas