Intereting Posts
आईओएस नेविगेशन बार आइटम छवि आकार SMTP ईमेल आईफोन कॉर्डोवा WebApp पर नहीं भेज रहा है, ब्राउज़र में काम कर रहा है? फ़िल्टर की गई छवि से मूल चित्र को रीसेट बटन एनिम विथ ड्यूचर एनिमेशन एनिमेशन रोकें और फिर से शुरू करें ओपनसीवी कोकोपॉड के साथ स्थापित नहीं किया जा सकता है, मेजबान को हल नहीं किया जा सकता है: hivelocity.dl.sourceforge.net आईओएस 7 पर सिस्टम टच इवेंट को इंजेक्ट करें UITextView / UITextField के लिए बिंदीदार / डैश बॉर्डर छवि से UIBezierPath Parse.com PFUser ट्विटर और फेसबुक खाते को जोड़ने? एक संरचना के स्थिर गुणों पर विस्फोट Xamarin में ViewController नियंत्रक Segue देखें – : अज्ञात चयनकर्ता आईओएस 11 में उदाहरण के लिए भेजा गया जिम्मेदार पाठ केंद्र संरेखण EAGLContext renderbufferStorage के लिए स्थान पर EXC_BAD_ACCESS: ड्रेनेबल: कोकोस 2 डी ऐप में जे डिबगिंग Google जीओकोडिंग API सीमा सेल नेटवर्क से अधिक हो गई, लेकिन वाईफ़ाई पर नहीं

आईफोन – अपना खुद का दृश्य डिजाइन करना नियंत्रक संक्रमण

मेरे ऐप में दृश्य नियंत्रकों का एक गुच्छा है और मैं एक दृश्य नियंत्रक से दूसरे को अपना स्वयं का एनीमेशन संक्रमण डिजाइन करने का प्रयास कर रहा हूं।

मैंने यह पाया है

- (void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion 

लेकिन यह मेरे स्वयं के संक्रमण वक्र को डिजाइन करने की अनुमति देने के लिए प्रकट नहीं होता है

मैं जो चाहूंगा, वह लोचदार उछाल जैसे प्रभाव पैदा करना है, जब नया दृश्य नियंत्रक अंतिम स्थिति और उस तरह के सामान को मारते हैं। मुझे एनीमेशन वक्र के लिए अपनी खुद की कीफ्रेम जोड़ना है I

मैं उसको कैसे करू?

धन्यवाद

Solutions Collecting From Web of "आईफोन – अपना खुद का दृश्य डिजाइन करना नियंत्रक संक्रमण"

यदि आप अपना स्वयं का संक्रमण डिजाइन करना चाहते हैं तो आप UIViewController के लिए एक श्रेणी बना सकते हैं और स्वयं एनिमेशन लिख सकते हैं। पहले से ही उपलब्ध केवल मूल एनिमेशन हैं

आप इंटरफ़ेस कैसे कर सकते हैं:

* .h फ़ाइल:

 #import <UIKit/UIKit.h> @interface UIViewController(Transitions) - (void) presentViewController:(UIViewController *)viewController withPushDirection: (NSString *) direction; - (void) dismissViewControllerWithPushDirection:(NSString *) direction; @end 

* .m फ़ाइल

 #import "UIViewControllerWithTransitions.h" #import <QuartzCore/QuartzCore.h> @implementation UIViewController(Transitions) - (void) presentViewController:(UIViewController *)viewController withPushDirection: (NSString *) direction { [CATransaction begin]; CATransition *transition = [CATransition animation]; transition.type = kCATransitionPush; transition.subtype = direction; transition.duration = 0.25f; transition.fillMode = kCAFillModeForwards; transition.removedOnCompletion = YES; [[UIApplication sharedApplication].keyWindow.layer addAnimation:transition forKey:@"transition"]; [[UIApplication sharedApplication] beginIgnoringInteractionEvents]; [CATransaction setCompletionBlock: ^ { dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(transition.duration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^ { [[UIApplication sharedApplication] endIgnoringInteractionEvents]; }); }]; [self presentViewController:viewController animated:NO completion:NULL]; [CATransaction commit]; } - (void) dismissViewControllerWithPushDirection:(NSString *) direction { [CATransaction begin]; CATransition *transition = [CATransition animation]; transition.type = kCATransitionPush; transition.subtype = direction; transition.duration = 0.25f; transition.fillMode = kCAFillModeForwards; transition.removedOnCompletion = YES; [[UIApplication sharedApplication].keyWindow.layer addAnimation:transition forKey:@"transition"]; [[UIApplication sharedApplication] beginIgnoringInteractionEvents]; [CATransaction setCompletionBlock: ^ { dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(transition.duration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^ { [[UIApplication sharedApplication] endIgnoringInteractionEvents]; }); }]; [self dismissViewControllerAnimated:NO completion:NULL]; [CATransaction commit]; } @end 

और यह एक नमूना कॉल है:

 [self presentViewController: myVC withPushDirection:@"fromRight"];