导航控制器返回按钮,转到上一屏幕之前的屏幕

sic*_*cKo 7 back-button back uinavigationbar uinavigationcontroller uinavigationitem

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

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

在'回调'方法上,我称这行

[self.navigationController popViewControllerAnimated:YES];

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

我知道我可以直接调用那个屏幕,但我不想这样做,因为在每个屏幕上我都有一个后退按钮,它应该转到之前的屏幕.

Jan*_*mal 9

您可以使用其推送索引弹出到特定的viewcontroller.如果您知道语法,那么就可以了

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:indexOfViewController] animated:YES];
Run Code Online (Sandbox Code Playgroud)

我相信,在你的情况下,它将是第一指数.虽然您可以再次更改索引和检查.

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];
Run Code Online (Sandbox Code Playgroud)

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

希望能帮助到你.