7

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

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

在'handleback'方法上,我调用了这条线

[self.navigationController popViewControllerAnimated:YES];

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

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

4

1 回答 1

9

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

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

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

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

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

希望能帮助到你。

于 2011-04-22T10:24:02.640 回答