没有处理操作了页面栈的情况
Opened this issue · 3 comments
syik commented
如果外部调用了setViewControllers:
方法, 你的arrayScreenshot
就对不上了
Bonway commented
在navigationController做了push、pop等重写,对setViewControllers方法并未做处理,所以你就对不上
carlchou00 commented
请问下作者,只能用继承的方式使用吗?不可以直接用runtime交换方法来实现吗?这样集成的话,每个控制器都要改吧,是不是太麻烦了
silenting commented
- (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;
}