【问题标题】:Navigation Controller Back button to go to the screen before the previous screen导航控制器后退按钮转到上一屏幕之前的屏幕
【发布时间】:2011-08-10 18:32:03
【问题描述】:

我想知道是否可以使用导航控制器按钮返回上一页。现在,我已经使用此代码自定义了按钮

self.navigationItem.leftBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:mainLib.navCountryTitle
                                 style:UIBarButtonItemStyleBordered
                                target:self
                                action:@selector(handleBack:)];

在 'handleback' 方法上,我调用了这一行

[self.navigationController popViewControllerAnimated:YES];

所以在这种情况下,它将转到上一个屏幕。但是我想进入上一个屏幕之前的屏幕。

我知道我可以立即调用该屏幕,但我不想这样做,因为在每个屏幕中我都有一个后退按钮,它应该转到上一个屏幕。

【问题讨论】:

标签: uinavigationcontroller uinavigationbar back-button uinavigationitem back


【解决方案1】:

您可以使用其推送索引弹出到特定的视图控制器。如果您知道语法,则可以像

那样做
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:indexOfViewController] animated:YES];

我相信,在您的情况下,它将是第一个索引。虽然您可以再次更改索引并检查。

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];

这里 self.navigationController.viewControllers 是所有推送的 ViewController 的数组。

希望对你有帮助。

【讨论】:

  • 它被我用作返回导航控制器中的特定索引。
  • @K.D 很高兴它有帮助。您可以通过投票来分享您的快乐。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-30
  • 2020-11-02
  • 1970-01-01
  • 2021-11-20
相关资源
最近更新 更多