SloppySwiper
SloppySwiper
is a UINavigationController
delegate that allows swipe back gesture to be started from anywhere on the screen (not only from the left edge).
Note
- the library recreates the default pop animation, so it doesn't look exactly the same as when
interactivePopGestureRecognizer
is used:- cross dissolve animation is used in the navigation bar (instead of the back button movement)
- the animation tends to be glitchy on the iOS Simulator, but it's fine on the device
hidesBottomBarWhenPushed
isn't animated properly
- the gesture can collide with other pan to the right gestures
- If you're having problems with a UINavigationController inside of
a UITabBarController that is causing the UITabBar to pop out of view during the animation process,
you'll want to implement the SloppySwiperDelegate protocol and return NO for calls to
-(BOOL)sloppySwiperShouldAnimateTabBar:(SloppySwiper *)swiper
.
Usage
SloppySwiper
can be set either in the Interface Builder or in code. The IB usage is presented in the example project (see Navigation Controller Scene
in Main.storyboard
). You can set it up programmatically as follows:
#import "SloppySwiper.h"
...
@property (strong, nonatomic) SloppySwiper *swiper;
...
self.swiper = [[SloppySwiper alloc] initWithNavigationController:navigationController];
navigationController.delegate = self.swiper;
Demo
To run the example project; clone the repo, and run pod install
from the Example directory first. Alternatively, run pod try SloppySwiper
from the command line.
Requirements
- iOS 7
- ARC
Installation
SloppySwiper is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "SloppySwiper"
Author
Arkadiusz Holko:
Credits
I'd like to thank:
- @chriseidhof for writing View Controller Transitions, which parts of I've used in this library
- Joshua Ginter for writing Sloppy Swiping