RASlideInViewController
RASlideInViewController has an transition effect expressing the depth, and you can dismiss it by draging.
Screen shots
Example animation
Usage
Please add the library into your project, and create subclass of this class.
Example
UIStoryboard *storyboard = self.storyboard;
RANewSlideInViewController *slideViewController = [storyboard instantiateViewControllerWithIdentifier:NSStringFromClass([RANewSlideInViewController class])];
self.modalPresentationStyle = UIModalPresentationCurrentContext; //***
[self presentViewController:slideViewController animated:NO completion:nil];
UIStoryboard *storyboard = self.storyboard;
RANewSlideInViewController *slideViewController = [storyboard instantiateViewControllerWithIdentifier:NSStringFromClass([RANewSlideInViewController class])];
slideViewController.slideInDirection = RASlideInDirectionLeftToRight;
_subWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
_subWindow.windowLevel = UIWindowLevelStatusBar;
_subWindow.rootViewController = slideViewController;
[_subWindow makeKeyAndVisible];
Option
typedef NS_ENUM(NSInteger, RASlideViewSlideInDirection){
RASlideInDirectionBottomToTop,
RASlideInDirectionRightToLeft,
RASlideInDirectionTopToBottom,
RASlideInDirectionLeftToRight
};
@interface RASlideInViewController : UIViewController
@property (nonatomic, assign) RASlideViewSlideInDirection slideInDirection; //default RASlideInDirectionBottomToTop;
@property (nonatomic, assign) BOOL shiftBackDropView; //default NO
@property (nonatomic, assign) CGFloat animationDuration; //default .3f
@property (nonatomic, assign) CGFloat backdropViewScaleReductionRatio; //default .9f
@property (nonatomic, assign) CGFloat shiftBackDropViewValue; //default 100.f
@property (nonatomic, assign) CGFloat backDropViewAlpha; //default 0
@end
License
RASlideInViewController is released under the MIT License, see LICENSE.txt.