2011-11-03 15 views
30

Eventuali duplicati:
What's the best way to develop a sideswipe menu like the one in Facebook's new iOS app?iphone menu laterale facebook usando Objective C

L'applicazione facebook iphone ha un nuovo menu laterale,
screen http://www.tapscape.com/wp-content/uploads/2011/10/facebook2.jpg

Qualcuno sa come i può implementare questa funzionalità nella mia applicazione iphone e utilizzando l'obiettivo c?

+0

Controllare [questa libreria] (http://www.cocoacontrols.com/platforms/ios/controls/zuuirevealcontroller). Mi ha aiutato! È finita la biblioteca che lo sta facendo davvero bene! – noctri

+0

Molto semplice e facile da usare https://github.com/shivamchove/facebook_style_left_menus library –

risposta

51

È davvero semplice. Innanzitutto, è necessario creare un controller di visualizzazione che si trovi sotto quello visibile. È possibile inviare questo punto di vista sul retro in questo modo:

[self.view sendSubviewToBack:menuViewController.view]; 

Quindi, è mettere un pulsante menu sul lato sinistro della barra di navigazione, e scrivere un gestore di un po 'come questo:

- (void)menuButtonPressed:(id)sender { 

    CGRect destination = self.navigationController.view.frame; 

    if (destination.origin.x > 0) { 
     destination.origin.x = 0; 
    } else { 
     destination.origin.x += 254.5; 
    } 

    [UIView animateWithDuration:0.25 animations:^{ 

     self.navigationController.view.frame = destination;   

    } completion:^(BOOL finished) { 

     self.view.userInteractionEnabled = !(destination.origin.x > 0); 

    }]; 
} 

Questa è l'idea generale. Potrebbe essere necessario modificare il codice per riflettere la gerarchia della vista, ecc.

+2

Sei fantastico! – Daniel

+7

@greenisus Sono confuso su come hai inviato il menu alla parte posteriore? Quando lo faccio mostra solo un menu laterale nero. – Bot

+0

questo ha funzionato per me, grazie! qualcuno sa come gestire i cambiamenti di orientamento per questo menu laterale? – odaa

Problemi correlati