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