2012-12-06 7 views
6
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated 

Questa funzione carica una vista dal lato destro. Come posso caricare una vista dal lato sinistro?Come posso caricare una vista dal lato sinistro?

+0

Prova questo link http://stackoverflow.com/questions/1096092/iphone- push-view-controller-in-a-left-direction/1096115 # 1096115 –

+0

per la tua cortese attenzione, in realtà stai provando a spingere un nuovo controller di visualizzazione, non un UIView. –

+0

è ok, ma il fatto è che se stai provando ad aggiungere un nuovo UIView puoi farlo facilmente usando UIView con Animation, ma se stai navigando su un nuovo UIViewController non puoi farlo nei modi suggeriti sotto –

risposta

7

Qui è

CATransition *animation = [CATransition animation]; 
[[self navigationController] pushViewController:elementController animated:NO]; 
[animation setDuration:0.45]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromLeft]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault]]; 
[[elementController.view layer] addAnimation:animation forKey:@"SwitchToView1"]; 

Per questo è necessario #import <QuartzCore/QuartzCore.h>

1

se già state spinte ad un viewController è possibile utilizzare questo:

[self.navigationController popViewControllerAnimated:YES] 
+1

He come per spingere la vista ... –

+0

sto parlando di un caso come ho descritto – Mutawe

3

non credo che ci sia un modo readymade per farlo. Dovrai animare tu stesso la vista usando animateWithDuration:delay:options:animations:completion: o animateWithDuration:animations:completion: (o qualsiasi altro metodo di animazione) e cambiare di conseguenza i fotogrammi della tua vista in modo che si anima dal lato destro. Spero che questo aiuti :)