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

Ta funkcja ładuje widok z prawej strony. Jak mogę załadować widok z lewej strony?Jak mogę załadować widok z lewej strony?

+0

Spróbuj ten link http://stackoverflow.com/questions/1096092/iphone- pushing-view-controller-in-a-left-direction/1096115 # 1096115 –

+0

za uprzejmą uwagę, faktycznie próbujesz wcisnąć nowy kontroler widoku, a nie UIView. –

+0

jest ok koleś, ale faktem jest, że jeśli próbujesz dodać nowy UIView możesz to zrobić z łatwością używając UIView z animacją, ale jeśli nawigujesz do nowego UIViewController nie możesz tego zrobić w sposób sugerowany poniżej –

Odpowiedz

7

Tu jest

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"]; 

Do tego trzeba #import <QuartzCore/QuartzCore.h>

1

jeśli już został zepchnięty do viewController można użyć to:

[self.navigationController popViewControllerAnimated:YES] 
+1

On jak popchnąć widok ... –

+0

Mówię o sprawie jak opisałem – Mutawe

3

nie sądzę, nie ma gotowych sposób to zrobić. Będziesz musiał animować widok samodzielnie, używając animateWithDuration:delay:options:animations:completion: lub animateWithDuration:animations:completion: (lub innych metod animacji) i odpowiednio zmienić ramki swojego widoku, aby animował się z prawej strony. Nadzieja to pomaga :)

Powiązane problemy