RTRootNavigationController
RTRootNavigationController copied to clipboard
实现 UINavigationControllerDelegate 两个以上子vc , 滑动返回就不能用第二次pop就crash
trafficstars
self.rt_navigationController.delegate = self
self.navigationController?.delegate = self
上面两种方式都不行。
我来理一理。你是从 VC1 push 到 VC2 ,在 VC2 中设置了 delegate,然后又 push 到 VC3 ,且在 VC3 中也设置了 delegate ,这里在 VC3 中手势返回无效了?而且 pop 到 VC1 会 crash ?
@rickytan vc1 push 到vc2 正常, vc2 push 到vc3 , vc3中设置了delegate 并实现了didShow 和 willShow方法 , 这时 VC3 中手势返回无效了?而且 pop 到 VC1 会 crash ?
刚才试了一下,貌似没有问题,从 Root 点 Navigation Hidden
然后点 Push 到 Horizontal Scroll,并在 Horizontal Scroll 的 - viewDidLoad 中设置 delegate

- (void)viewDidLoad {
[super viewDidLoad];
// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = NO;
// Register cell classes
// Do any additional setup after loading the view.
self.navigationController.delegate = self;
}
#pragma mark - UINavigationController Delegate
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
}
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
}
断点可以进入,手势也能返回