搜了好多的資料,千篇一律都是說要重寫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;
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。