The iOS7 comes with a side-by-side return function, but after customizing the back button, the side-slip return function is invalidated and the workaround is as follows:
Customizing a Uinavigationcontroller to implement several proxy methods
@interface Customnavigationcontroller:uinavigationcontroller@end
#import "CustomNavigationController.h" @interface CustomNavigationController () < Uinavigationcontrollerdelegate, uigesturerecognizerdelegate> @property (nonatomic, weak) uiviewcontroller *currentshowvc; @end @implementation customnavigationcontroller- (instancetype) Initwithrootviewcontroller: (uiviewcontroller *) rootviewcontroller { customnavigationcontroller *nav = [super initwithrootviewcontroller:rootviewcontroller]; nav.interactivepopgesturerecognizer.delegate = self; nav.delegate = self; return nav;} - (void) Navigationcontroller: (uinavigationcontroller *) navigationcontroller Didshowviewcontroller: (uiviewcontroller *) viewcontroller animated: (BOOL) animated { if (1 == navigationcontroller.viewcontrollers.count) { self.currentshowvc = nil; } else { self.currentshowvc = viewcontroller; }}- ( BOOL) Gesturerecognizershouldbegin: (uigesturerecognizer *) gesturerecognizer { if ( Gesturerecognizer == self.interactivepopgesturerecognizer) { return (self.currentshowvc == self.topviewcontroller); } return yes;} - (BOOL) Gesturerecognizer: (uigesturerecognizer *) gesturerecognizer Shouldrecognizesimultaneouslywithgesturerecognizer: (uigesturerecognizer *) otherGestureRecognizer { if ([gesturerecognizer iskindofclass:[uipangesturerecognizer class]] & & [othergesturerecognizer iskindofclass:[ Uiscreenedgepangesturerecognizer class]]) { return yes; } else { return no; }} @end
Then, replace your uinavigationcontroller with the custom Navigationcontroller.
Resolves an issue that cannot be returned after iOS7 a custom return button