在iOS7之後使用導航控制器來管理視圖控制器的話,默認是支持左側滑動返回的,但是如果更改了導航控制器的Item,那麼默認左側返回的功能就失效了。
下面介紹如何自定義Item還能支持左側滑動返回:
1.要自己創建一個繼承自UINavigationController的類,並且導航控制器使用它
2.在自己創建的導航控制器中添加手勢返回
這裏要打遵守協議,並且要用__weak防止循環引用。
3.在rootViewController中設置手勢代理
//遵守<UIGestureRecognizerDelegate>協議
self.navigationController.interactivePopGestureRecognizer.delegate = self;
//調用下面的方法判斷是否是rootViewController 如果不判斷會有Bug出現
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
if (self.navigationController.viewControllers.count == 1)
{
return NO;
}
else
{
return YES;
}
}
這樣就搞定了。