问题重现
自定义了leftBarButtonItem当做返回按钮,但是又需要右划返回于是自己定义了BasicNavigationController
-(void)viewDidLoad
{
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
}
}
问题来了:当你在rootViewController的leftBarButtonItem处往右来回滑,界面很大几率卡死,在DebugViewHierarchy(视图调试)中查看界面是跳进下一界面了,但是手机上依然显示上个界面。
解决方法
上代码
-(void)viewDidLoad {
[super viewDidLoad];
self.delegate = self;
self.interactivePopGestureRecognizer.delegate = self;
}
-(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated{
self.interactivePopGestureRecognizer.enabled = [self.viewControllers count] > 1 ;
}
在界面第一层时禁用右划返回即可。