以下是该方案。我有4个视图控制器v1,v2,v3,v4,它们使用iPhone的4个tabbarcontroller显示。现在我将另一个视图sv1推送到v1(当我查看v1时,我使用pushviewcontroller)。现在,如果我按下v2 tabbar(当我正在查看sv1时),然后按v1我会看到sv1。但是,我不希望这种行为。我想显示v1而不是sv1。如何在单击v2时从其父视图中删除sv1?
感谢。
答案 0 :(得分:1)
尝试在[navigationController popToRootViewController animated:NO]
方法中使用viewWillDisappear
。
答案 1 :(得分:0)
您会混淆子视图和导航控制器。将视图推送到导航控制器时,将其推送到视图堆栈的末尾。显示堆栈末尾的视图。您可以从堆栈中弹出该视图,并显示堆栈中的下一个视图:
[self.navigationController popViewController:YES];
使用子视图,您必须从父级中删除:
[sv1 removeFromSuperView];
在您的情况下,您需要第一个解决方案。