解决方案 »

  1.   

    把NavigationController的VC栈复制一份(mutableCopy),从中去除掉你不想要的VC,然后重置栈:
    [self.navigationController setViewControllers:viewControllers];
      

  2.   

    这个可以解决滑动返回哪一个界面的问题  但是还有一个小的问题。我从A进入B,从B进入C,我把B从VC栈里面删除了,滑动返回的时候,我手指拉动C的界面时,C界面的下方还是显示B界面,当滑动结束手指离开屏幕,界面会直接闪跳到A。换句话说,在滑动返回的过程中,依旧能够看到B界面,但是确实会返回A。请问如何解决啊?谢谢~~
      

  3.   

    这个可以解决滑动返回哪一个界面的问题  但是还有一个小的问题。我从A进入B,从B进入C,我把B从VC栈里面删除了,滑动返回的时候,我手指拉动C的界面时,C界面的下方还是显示B界面,当滑动结束手指离开屏幕,界面会直接闪跳到A。换句话说,在滑动返回的过程中,依旧能够看到B界面,但是确实会返回A。请问如何解决啊?谢谢~~
    setViewControllers在什么时候调用的?应该是在从b进入c的时候,代替push方法
      

  4.   

    这个可以解决滑动返回哪一个界面的问题  但是还有一个小的问题。我从A进入B,从B进入C,我把B从VC栈里面删除了,滑动返回的时候,我手指拉动C的界面时,C界面的下方还是显示B界面,当滑动结束手指离开屏幕,界面会直接闪跳到A。换句话说,在滑动返回的过程中,依旧能够看到B界面,但是确实会返回A。请问如何解决啊?谢谢~~
    setViewControllers在什么时候调用的?应该是在从b进入c的时候,代替push方法
    是[self.navigationController setViewControllers:ary animated:YES];吧...
    开始我使用[self.navigationController setViewControllers:ary],相当于是只调用了ViewControllers的set方法...差点别你误导
    我看苹果的解释是栈顶有新的VC才会push 这个方法挺不错的
      

  5.   

    这个可以解决滑动返回哪一个界面的问题  但是还有一个小的问题。我从A进入B,从B进入C,我把B从VC栈里面删除了,滑动返回的时候,我手指拉动C的界面时,C界面的下方还是显示B界面,当滑动结束手指离开屏幕,界面会直接闪跳到A。换句话说,在滑动返回的过程中,依旧能够看到B界面,但是确实会返回A。请问如何解决啊?谢谢~~
    setViewControllers在什么时候调用的?应该是在从b进入c的时候,代替push方法
    是[self.navigationController setViewControllers:ary animated:YES];吧...
    开始我使用[self.navigationController setViewControllers:ary],相当于是只调用了ViewControllers的set方法...差点别你误导
    我看苹果的解释是栈顶有新的VC才会push 这个方法挺不错的

    我手写的伪代码,只是给你提供一个思路,这个API大家都会用带动画的版本。
      

  6.   

    这个可以解决滑动返回哪一个界面的问题  但是还有一个小的问题。我从A进入B,从B进入C,我把B从VC栈里面删除了,滑动返回的时候,我手指拉动C的界面时,C界面的下方还是显示B界面,当滑动结束手指离开屏幕,界面会直接闪跳到A。换句话说,在滑动返回的过程中,依旧能够看到B界面,但是确实会返回A。请问如何解决啊?谢谢~~
    setViewControllers在什么时候调用的?应该是在从b进入c的时候,代替push方法
    是[self.navigationController setViewControllers:ary animated:YES];吧...
    开始我使用[self.navigationController setViewControllers:ary],相当于是只调用了ViewControllers的set方法...差点别你误导
    我看苹果的解释是栈顶有新的VC才会push 这个方法挺不错的

    我手写的伪代码,只是给你提供一个思路,这个API大家都会用带动画的版本。
    anyway 3x