Devxoul SwipeBack Versions Save

Enable iOS 7+ swipe-to-back when custom back button is set.

1.1.1

7 years ago
  • Fix SwipeBack when pushed with 3D touch (#13, @wolfcon)

1.1.0

8 years ago
  • Drop JRSwizzle dependency. (#6)

1.0.6

8 years ago
  • Fix a bug that app freezes when attempt to swipe back on non-swipe-backable view controllers.

1.0.5

9 years ago
  • Disable gesture recognizer for root view controller. (Thanks to @gotokatsuya!)

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

Change Log

  • Add swipeBackEnabled property to UINavigationController.

1.0.0

9 years ago

SwipeBack

Re-enable iOS7 swipe-to-back with custom back button.

Background

  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 and UIViewController+SwipeBack.m. Want to know more about method swizzling, visit here.