開發中有時需求會要求滑動控制器直接返回 ,蘋果自帶效果只能在控制器的邊緣處返回 現分享一種比較優雅的處理方法:
//找到原有的手勢對象及實現方法 self.interactivePopGestureRecognizer.delegate\handleNavigationTransition
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self.interactivePopGestureRecognizer.delegate action:@selector(handleNavigationTransition:)];
pan.delegate=self;
self.interactivePopGestureRecognizer.enabled=NO;
//給導航控制的View添加拖拽手勢
[self.view addGestureRecognizer:pan];
}
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
//回到首頁控制器時不用開啟手勢
return !(self.childViewControllers.count==1);
}
滑動返回.gif