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

यह फ़ंक्शन दाएं तरफ से एक दृश्य लोड करता है। मैं बाईं तरफ से एक दृश्य कैसे लोड कर सकता हूं?मैं बाईं तरफ से एक दृश्य कैसे लोड कर सकता हूं?

+0

करने के लिए है इस लिंक http://stackoverflow.com/questions/1096092/iphone- प्रयास करें के लिए है आपके ध्यान के लिए पुशिंग-व्यू-कंट्रोलर-इन-ए-बाएं-दिशा/1096115 # 1096115 –

+0

, वास्तव में आप एक नया व्यू कंट्रोलर धक्का देने की कोशिश कर रहे हैं, न कि UIView। –

+0

यह ठीक दोस्त है, लेकिन, तथ्य यह है कि, यदि आप एक नया UIView जोड़ने की कोशिश कर रहे हैं तो आप आसानी से एविशन के साथ UIView का उपयोग करके इसे आसानी से कर सकते हैं, लेकिन यदि आप नए UIViewController पर जा रहे हैं तो आप इसे नीचे दिए गए तरीकों से नहीं कर सकते –

उत्तर

7

यहाँ यह

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

यह आप #import <QuartzCore/QuartzCore.h>

1

अगर आप पहले से ही एक ViewController के लिए धक्का दिया गया तो आप इस का उपयोग कर सकते हैं:

[self.navigationController popViewControllerAnimated:YES] 
+1

दृश्य को धक्का देने के लिए ... –

+0

जैसा कि मैंने वर्णन किया है, एक मामले के बारे में बात कर रहा हूं – Mutawe

3

नहीं लगता कि ऐसा करने के लिए एक रेडीमेड तरीका है। आपको animateWithDuration:delay:options:animations:completion: या animateWithDuration:animations:completion: (या किसी भी अन्य एनीमेशन विधियों) का उपयोग करके दृश्य को एनिमेट करना होगा और तदनुसार अपने दृश्य के फ्रेम को बदलना होगा ताकि यह दाएं तरफ से एनिमेट हो सके। आशा इस मदद करता है :)