我有一个应用程序,我需要从 UINavigationController 的堆栈中删除一个视图并将其替换为另一个视图。情况是第一个视图创建了一个可编辑的项目,然后用该项目的编辑器替换了它自己。当我在第一个视图中执行明显的解决方案时:
MyEditViewController *mevc = [[MYEditViewController alloc] initWithGizmo: gizmo];
[self retain];
[self.navigationController popViewControllerAnimated: NO];
[self.navigationController pushViewController: mevc animated: YES];
[self release];
我得到非常奇怪的行为。通常会出现编辑器视图,但如果我尝试使用导航栏上的后退按钮,我会得到额外的屏幕,有些是空白的,有些只是搞砸了。标题也变得随机。就像导航堆栈完全被冲洗了一样。
解决这个问题的更好方法是什么?
谢谢,马特