如何设置 UIViewController 显示在导航栏的后退按钮上?
How to set UIViewController to be shown on back button of Navigation bar?
我有一个 ViewController
带有结帐按钮,如果用户已登录,点击结帐按钮 CartViewController
应该打开,但如果用户未登录,LoginViewController
应该打开并且登录后 CartViewController
应该打开,这工作正常但我的问题是当我点击 CartViewController
中导航栏的 buck 按钮时它显示 LoginViewController 如果它来自 LoginViewController
。我希望它每次都回到 ViewController
您可以操纵 UINavigationController
对象的 viewControllers
属性 以从堆栈中删除特定对象。所以当你走 ViewController -> LoginViewController-> CartViewController
的路线时,你应该从堆栈中删除 LoginViewController
对象。这样,当您从 CartViewController
弹出时,您将回到 ViewController
。
检查 This Question 如何操作导航控制器堆栈
在 Navigation Back 栏按钮 Item Action 上编写以下代码(用于删除 rootViewController):
代码:
[self.navigationController popToRootViewControllerAnimated:YES];
我有一个 ViewController
带有结帐按钮,如果用户已登录,点击结帐按钮 CartViewController
应该打开,但如果用户未登录,LoginViewController
应该打开并且登录后 CartViewController
应该打开,这工作正常但我的问题是当我点击 CartViewController
中导航栏的 buck 按钮时它显示 LoginViewController 如果它来自 LoginViewController
。我希望它每次都回到 ViewController
您可以操纵 UINavigationController
对象的 viewControllers
属性 以从堆栈中删除特定对象。所以当你走 ViewController -> LoginViewController-> CartViewController
的路线时,你应该从堆栈中删除 LoginViewController
对象。这样,当您从 CartViewController
弹出时,您将回到 ViewController
。
检查 This Question 如何操作导航控制器堆栈
在 Navigation Back 栏按钮 Item Action 上编写以下代码(用于删除 rootViewController):
代码:
[self.navigationController popToRootViewControllerAnimated:YES];