之前在iOS开发中在利用导航栏进行页面跳转的时候并没有注意到苹果自带的侧滑返回手势,也就一直没有使用。究其原因是因为我们在使用了自己的返回按钮的时候苹果自带的侧滑返回功能就被覆盖了。如果我们想要使用苹果自带的侧滑返回手势,我们还是可以让它恢复的。
步骤:
1. 我们在使用导航控制器的时候要继承自系统的导航控制器。
2. 导航控制器要遵守协议:<UINavigationControllerDelegate>
3. 实现协议中的方法:- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
4. 协议中方法的具体实现:if (viewController == self.viewControllers[0] ) { // 如果显示的是根视图控制器
self.interactivePopGestureRecognizer.delegate = _popDelegate;
} else
{
self.interactivePopGestureRecognizer.delegate = nil;
}
viewDidLoad中的代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.delegate = self;
_popDelegate = self.interactivePopGestureRecognizer.delegate;
}
步骤:
1. 我们在使用导航控制器的时候要继承自系统的导航控制器。
2. 导航控制器要遵守协议:<UINavigationControllerDelegate>
3. 实现协议中的方法:- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
4. 协议中方法的具体实现:if (viewController == self.viewControllers[0] ) { // 如果显示的是根视图控制器
self.interactivePopGestureRecognizer.delegate = _popDelegate;
} else
{
self.interactivePopGestureRecognizer.delegate = nil;
}
viewDidLoad中的代码:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.delegate = self;
_popDelegate = self.interactivePopGestureRecognizer.delegate;
}