-
Notifications
You must be signed in to change notification settings - Fork 48
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
48 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,52 @@ | ||
SwipeBack | ||
========= | ||
# SwipeBack | ||
|
||
Re-enable iOS7 swipe-to-back with custom back button. | ||
|
||
|
||
Just import it. | ||
--------------- | ||
## Background | ||
|
||
`#import <SwipeBack/SwipeBack.h>` | ||
1. With setting custom back button via `leftBarButtonItem`, default swipe-to-back gesture is disabled. | ||
2. Assigning `interactivePopGestureRecognizer` as `UINavigationController` (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. | ||
3. Put custom code everywhere around `UINavigationController` is too annoying. | ||
|
||
|
||
## The Answer is SwipeBack | ||
|
||
1. **Not annoying** | ||
You don't need to code. | ||
|
||
2. **iOS7 native behavior** | ||
Not a foolishly-customized gesture recognizer. | ||
|
||
3. **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`](https://github.com/devxoul/SwipeBack/blob/master/SwipeBack/UINavigationController%2BSwipeBack.m) and [`UIViewController+SwipeBack.m`](https://github.com/devxoul/SwipeBack/blob/master/SwipeBack/UIViewController%2BSwipeBack.m). Want to know more about method swizzling, visit [here](http://nshipster.com/method-swizzling/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters