3

我有一个问题popViewController

pushViewController过去常去OrdersFormViewController

OrdersFormViewController *ordersFormViewController = [[OrdersFormViewController alloc] initWithNibName:@"OrdersFormViewController" bundle:nil];

[self.navigationController pushViewController:ordersFormViewController animated:YES];
[ordersFormViewController release];

OrdersFormViewController我显示 UIAlertViewviewDidLoad并调用popViewController,但这不起作用。

UIAlertView* alertView = [[UIAlertView alloc]
                         initWithTitle:@"Error"
                         message:@"Error"
                         delegate:self
                         cancelButtonTitle:@"OK"
                         otherButtonTitles:nil];
[alertView show];
[alertView release];

[self.navigationController popViewControllerAnimated:YES];

视图不是从 navigationController 中“弹出”的,但是当按下导航栏中的标准后退按钮时,只有导航栏发生变化,而不是实际视图。

有谁知道为什么会这样?

4

5 回答 5

7

我有一个类似的问题,我通过使用修复了它

[self.parentViewController.navigationController popViewControllerAnimated:YES];

希望有帮助。

于 2011-03-29T19:04:51.707 回答
4

不确定您要完成什么;但请尝试将其添加到viewDidAppear

viewDidLoad在您进行初始呼叫之前可能会被pushViewController呼叫。

于 2011-03-29T19:00:01.667 回答
1

您应该等到用户解除警报。这减少了用户的困惑。

你回复我的评论说它有效,出于某种我不明白的神奇原因。

于 2011-03-29T19:07:40.397 回答
0

您应该在 -viewDidAppear: 方法中完成所有这些操作。在此处调用时,动画序列当前正在进行中,您的控制器实际上还没有在屏幕上进行动画处理。等到你在屏幕上动画,然后解散自己。

于 2011-03-29T19:01:47.760 回答
0

如果您从主从模板创建项目,请删除拆分视图控制器。

于 2019-04-27T08:53:32.940 回答