Skip to content

Instantly share code, notes, and snippets.

@happymanx
Last active March 19, 2016 12:30
Show Gist options
  • Save happymanx/4b5a425a971de148c486 to your computer and use it in GitHub Desktop.
Save happymanx/4b5a425a971de148c486 to your computer and use it in GitHub Desktop.
Customize Navigation Animation
// UINavigationControllerFade.h
#import <UIKit/UIKit.h>
@interface UINavigationController (Fade)
- (void)pushFadeViewController:(UIViewController *)viewController;
- (void)fadePopViewController;
@end
// UINavigationControllerFade.m
#import "UINavigationControllerFade.h"
@implementation UINavigationController (Fade)
- (void)pushFadeViewController:(UIViewController *)viewController
{
CATransition *transition = [CATransition animation];
transition.duration = 0.3f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault];
[transition setType:kCATransitionMoveIn];
[transition setSubtype:kCATransitionFromRight];
[self.view.layer addAnimation:transition forKey:nil];
[self pushViewController:viewController animated:NO];
}
- (void)fadePopViewController
{
CATransition *transition = [CATransition animation];
transition.duration = 0.3f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault];
[transition setType:kCATransitionMoveIn];
[transition setSubtype:kCATransitionFromLeft];
[self.view.layer addAnimation:transition forKey:nil];
[self popViewControllerAnimated:NO];
}
[/sourcecode]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment