Mam aplikację, w której muszę usunąć jeden widok ze stosu UINavigationController i zastąpić go innym. Sytuacja jest taka, że pierwszy widok tworzy element edytowalny, a następnie zastępuje się edytorem elementu. Kiedy robię oczywiste rozwiązanie w pierwszym widoku:
MyEditViewController *mevc = [[MYEditViewController alloc] initWithGizmo: gizmo];
[self retain];
[self.navigationController popViewControllerAnimated: NO];
[self.navigationController pushViewController: mevc animated: YES];
[self release];
Zachowuje się bardzo dziwnie. Zwykle pojawia się widok edytora, ale jeśli spróbuję użyć przycisku Wstecz na pasku nawigacyjnym, pojawiają się dodatkowe ekrany, niektóre puste, a niektóre po prostu schrzanione. Tytuł też staje się przypadkowy. To tak, jakby stos nawigacji był całkowicie zawiązany.
Jakie byłoby lepsze podejście do tego problemu?
Dzięki, Matt