【发布时间】:2016-04-15 12:15:52
【问题描述】:
我正在使用以下函数返回到上一个控制器
- (void) onBack:(id) sender {
[[self navigationController] popViewControllerAnimated:NO];
}
在正常情况下工作正常,但当我转到超过 1 个视图控制器时出现问题。
如果我从 Viewcontroller1 移动到 ViewController2 然后到 Viewcontroller3
如果我按下返回按钮,则从 Viewcontroller3 转到 ViewController2,如果我转到 ViewController3 并返回到 Viewcontroller2。从 ViewController2 如果我按下返回按钮,它必须转到 ViewController1 而不是它将转到 ViewController3
谁能帮我解决这个问题。
我正在使用以下代码从一个控制器移动到另一个控制器(仅一个示例)
[[NSNotificationCenter defaultCenter] addObserverForName:NotificationEditProfile
object:nil
queue:[NSOperationQueue mainQueue]
usingBlock:^(NSNotification *notification) {
HUEditProfileViewController *editHUProfileViewController = [[HUEditProfileViewController alloc] initWithNibName:@"EditProfileView" bundle:nil];
editHUProfileViewController.isLocationEnabled = true;
[_navigationController pushViewController:editHUProfileViewController animated:NO];
}];
【问题讨论】:
-
如果想回到1,可以使用:popToRootViewControllerAnimated from any。
-
这当然不可能,您必须在两者之间更改导航堆栈,请仔细检查您的实现。
-
是您嵌入的导航控制器
-
Khurram Shehzad:实际上,如果我从 ViewController1 -> ViewController2->ViewController3... 按下返回按钮,它会进入 ViewController2,然后当我按下返回按钮 Viewcontroller2 时,它会进入视图控制器 1。但是当我第二次从 ViewController2 转到 ViewController3 时,问题就出现了,然后才开始出现问题(我猜这与 Viewcontrollers 的数量有关)但不确定
-
在你的故事板上显示你的视图层次结构,或者显示你是如何在视图控制器之间移动的。
标签: ios objective-c uiviewcontroller