RTRootNavigationController icon indicating copy to clipboard operation
RTRootNavigationController copied to clipboard

实现 UINavigationControllerDelegate 两个以上子vc , 滑动返回就不能用第二次pop就crash

Open smalldu opened this issue 8 years ago • 3 comments
trafficstars

self.rt_navigationController.delegate = self
self.navigationController?.delegate = self

上面两种方式都不行。

smalldu avatar Jul 29 '17 07:07 smalldu

我来理一理。你是从 VC1 push 到 VC2 ,在 VC2 中设置了 delegate,然后又 push 到 VC3 ,且在 VC3 中也设置了 delegate ,这里在 VC3 中手势返回无效了?而且 pop 到 VC1 会 crash ?

rickytan avatar Jul 31 '17 06:07 rickytan

@rickytan vc1 push 到vc2 正常, vc2 push 到vc3 , vc3中设置了delegate 并实现了didShow 和 willShow方法 , 这时 VC3 中手势返回无效了?而且 pop 到 VC1 会 crash ?

smalldu avatar Jul 31 '17 06:07 smalldu

刚才试了一下,貌似没有问题,从 RootNavigation Hidden image 然后点 PushHorizontal Scroll,并在 Horizontal Scroll- viewDidLoad 中设置 delegate image image

- (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
{
    
}

断点可以进入,手势也能返回

rickytan avatar Aug 03 '17 02:08 rickytan