導航控制器當我們自定義了左側返回功能的時候,就沒有了邊緣側滑返回的功能,這時候我們只需要在我們的導航控制器中添加以下代碼,就可以使其擁有邊緣側滑返回的功能了:
在ViewDidLoad中添加以下代碼
id target = self.interactivePopGestureRecognizer.delegate;
UIPanGestureRecognizer* fullScreenGes = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];
[self.view addGestureRecognizer:fullScreenGes];
fullScreenGes.delegate = self;
self.interactivePopGestureRecognizer.enabled = NO;
然后實現UIGestureRecognizerDelegate方法
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
//判斷是否是根控制器
return self.childViewControllers.count>1;
}
只需要這簡單的兩部,就可以擁有像系統一樣的側滑返回功能了