搜了好多的资料,千篇一律都是说要重写nav
经过好友指点,如下代码也是可以的。不需要重写nav
/**
* 思路,通过获取nav的target 来调用nav的handleNavigationTransition: 这个转场动画
*/
- (void)viewDidLoad
{
[super viewDidLoad];
/**
* 右滑返回
* 调用系统的方法
*/
self.navigationController.interactivePopGestureRecognizer.enabled=NO;
id target = self.navigationController.interactivePopGestureRecognizer.delegate;
UIPanGestureRecognizer *pan=[[UIPanGestureRecognizer alloc]initWithTarget:target action:@selector(handleNavigationTransition:)];
pan.delegate = self;
[self.view addGestureRecognizer:pan];
}
解决一个bug(根试图右滑,导致无法push的问题)
#pragma mark delegate
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
if (self.navigationController.viewControllers.count <= 1 ) {
return NO;
}
return YES;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。