如何设置 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];