每个UIViewController,从rootViewController开始使用[self.navigationController pushViewController nextView]来推送新视图。滑动正常工作。
我如何实现向前滑动的相同行为?更确切地说,我如何在通过向后滑动或后退按钮弹出UIViewController后保留它,以便在向前滑动的情况下再次添加它?
每个UIViewController,从rootViewController开始使用[self.navigationController pushViewController nextView]来推送新视图。滑动正常工作。
我如何实现向前滑动的相同行为?更确切地说,我如何在通过向后滑动或后退按钮弹出UIViewController后保留它,以便在向前滑动的情况下再次添加它?
在所有视图控制器中添加一个实例变量(作为强属性)nextViewController
每当您推送新的视图控制器时,将nextViewController
设置为被推送的视图控制器
现在,每当用户向前滑动时,您只需推送nextViewController
。 但是,请首先检查nil
。 如果currentViewController.nextViewController = nil
,则知道用户从未导航到此点,然后适当处理。 您可以忽略向前滑动,或者您可以向用户发送消息。
要处理滑动本身:
只需将UISwipeGestureRecognizer添加到每个视图控制器的view
中。
然后,当调用您的滑动方法时,请检查手势识别器的direction
属性。 如果它是向前滑动,则按上述方式推送nextViewController
。