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