Bonway/BBGestureBack

没有处理操作了页面栈的情况

Opened this issue · 3 comments

syik commented

如果外部调用了setViewControllers:方法, 你的arrayScreenshot就对不上了

在navigationController做了push、pop等重写,对setViewControllers方法并未做处理,所以你就对不上

请问下作者,只能用继承的方式使用吗?不可以直接用runtime交换方法来实现吗?这样集成的话,每个控制器都要改吧,是不是太麻烦了

  • (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated {
    NSArray *arr = [super popToViewController:viewController animated:animated];
    if (self.arrayScreenshot.count > arr.count){
    for (int i = 0; i < arr.count; i++) {
    [self.arrayScreenshot removeLastObject];
    }
    }
    //增加这个代码,可以解决该问题
    AppDelegate *appdelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
    appdelegate.gestureBaseView.imgView.image = [self.arrayScreenshot lastObject];
    return arr;
    }