Iphone 如何正确切换视图?

Iphone 如何正确切换视图?,iphone,uiview,uinavigationcontroller,switching,modalviewcontroller,Iphone,Uiview,Uinavigationcontroller,Switching,Modalviewcontroller,我知道它已经分配的信息,在互联网上,但我是新的编程和小困惑,我需要一些帮助请。。。例如,我有10个视图控制器,并使用按钮在它们之间切换,例如,我使用 -(IBAction)goToSecondView:(id)sender { SecondViewController *secondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; [self prese

我知道它已经分配的信息,在互联网上,但我是新的编程和小困惑,我需要一些帮助请。。。例如,我有10个视图控制器,并使用按钮在它们之间切换,例如,我使用

    -(IBAction)goToSecondView:(id)sender {

 SecondViewController *secondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
 [self presentModalViewController:secondView animated:NO];
 [secondView release];
    }
   /* or */


-(IBAction)goToSecondView:(id)sender {

SecondViewController *secondView = [[SecondViewController alloc]
initWithNibName:@"SecondViewController" bundle:nil]; [self.view addSubview:secondView.view];
[secondView release];
}
需要之后,如果我切换到删除第一个视图,则:

[self.view removeFromSuperview]; /* or */ [self dismissModalViewControllerAnimated:YES];
我不知道如何在切换到第二视图时删除第一个视图,例如,当从第一个视图转到第二个视图时,需要删除第一个视图,然后从第二个视图转到第三个视图或七个视图示例,需要删除第二个视图。。。我怎么做?你能做一个示例代码吗?我知道这很容易,但对我来说不是,我是编程新手

----------更新---------------------------------

我想做一些类似><的东西,但我不完全理解,有人能做一个示例代码吗


非常感谢

您使用哪种方法或是否应该使用另一种方法完全取决于您试图实现的目标

如果有一个视图列出了所有其他视图,并且您只需要在第一个视图和另一个视图之间来回切换,那么当前的ModalViewController:otherView方法就可以了。如果要将其他视图作为第一个视图的子视图添加并完全覆盖它,那么这不是最好的方法。您应该将其他视图添加为窗口的子视图或其他视图父视图,然后使用[theView removeFromSuperview]从窗口/父视图中删除该视图


如果您有一个层次结构,也就是说,您可以从第一个视图到第二个视图,从它到第三个视图,深入几层,那么您应该考虑使用UINavigationController。每次要显示新视图时,将其推到UINavigationController的堆栈上,如果使用带有“后退”按钮的默认导航栏,则返回到某个级别,然后将其弹出,这将为您解决。在这种情况下,您不必删除看不见的视图并在需要时重新创建它们,这一切都由UINavigationController负责。

还请记住,您不必总是“删除”视图。你可以把它们藏起来

[self.view setHidden:是]


这只会使它们无法绘制。这很方便,因为removeFromSuperview实际上会从内存中释放视图,除非它被保留,这意味着您将永远无法将其取回。

我想做类似的事情,但我不知道如何使其正确SecondViewController*secondView=[[SecondViewController alloc]initWithNibName:@SecondViewController bundle:nil];[自我呈现ModalviewController:secondView动画:否];[FirstViewController解除ModalViewController激活:是]//切换到另一个视图时关闭当前视图切换到另一个视图时关闭当前视图,例如,首先我从第一个视图转到第二个视图,然后我从第二个视图转到第五个视图,然后再转到第二个视图,我不知道如何在切换到另一个视图时关闭当前视图。如果你是这样做的,那么你不必自己关闭视图,操作系统将确保不可见的视图不会浪费更多的空间。