在navigationController上向后和向前滑动

Joh*_*son 2 iphone objective-c uinavigationcontroller

每个UIViewController,以rootViewController开头,使用[self.navigationController pushViewController nextView]来推送新视图.滑动工作正常.

如何向前滑动实现相同的行为?我更确切地说,如何在弹出后退或后退按钮后保持UIViewController,所以我可以再次添加它以防止向前滑动?

sal*_*.dm 5

要跟踪视图控制器,可以执行以下操作:

  • 将实例变量(作为强属性)添加nextViewController到所有视图控制器

  • 每当您按下一个新的视图控制器时,设置nextViewController为推送的视图控制器

  • 现在,每当用户向前滑动时,您只需按下即可nextViewController.但是,首先检查一下nil.如果currentViewController.nextViewController = nil您知道用户从未导航过这一点,并且您处理得当.您可以忽略向前滑动,也可以向用户发送消息.

要处理滑动本身:

  • 只需将UISwipeGestureRecognizer添加到每个视图控制器即可view.

  • 然后,在调用滑动方法时,请检查手势识别器的direction属性.如果是向前滑动,请按nextViewController上述方法推动.