SwipeBack 1.0.0
SwipeBack
Re-enable iOS7 swipe-to-back with custom back button.
Background
-
With setting custom back button via
leftBarButtonItem, default swipe-to-back gesture is disabled. -
Assigning
interactivePopGestureRecognizerasUINavigationController(a common solution) can cause unexpected errors:- nested pop animation can result in corrupted navigation bar
- Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
-
Put custom code everywhere around
UINavigationControlleris too annoying.
The Answer is SwipeBack
- Not annoying
You don't need to code. - iOS7 native behavior
Not a foolishly-customized gesture recognizer. - Safe
No error anymore.
Use SwipeBack
CocoaPods
Just add a line below into your Podfile. You don't need to write any code. CocoaPods automatically import SwipeBack globally.
pod 'SwipeBack'
Without CocoaPods (Why not use?)
Import SwipeBack at your .pch file.
#import "SwipeBack.h"
It's done.
How does it work
See UINavigationController+SwipeBack.m and UIViewController+SwipeBack.m. Want to know more about method swizzling, visit here.