如何切换视图

Posted

技术标签:

【中文标题】如何切换视图【英文标题】:How to Switch Views 【发布时间】:2011-07-02 21:26:27 【问题描述】:

我知道以前已经以不同的方式回答过这个问题,但我是一个新手程序员,真的需要一些上下文帮助。我有一个基本应用程序,它有多个视图控制器(.h、.m、.xib 每个。例如 about.h、about.m、about.xib、options.h、options.m 等)。我需要按一下按钮在它们之间切换。

我一直在使用:

xxxViewController *titleScreen = [[xxxViewController alloc] initWithNibName:@"xxxViewController" bundle:[NSBundle mainBundle]];
    [self.view addSubview:titleScreen.view];
    [xxxViewController release];

切换视图效果很好。但后来我注意到,在 Instruments 中,整体/净字节不断攀升,而没有“释放”它来自的视图。

我做错了吗?请帮忙...我很绝望!

【问题讨论】:

【参考方案1】:

您并没有切换视图,您只是以这种方式在另一个之上添加一个视图。如果您想在不同的视图之间导航,您可能需要a navigation controller。

【讨论】:

谢谢!但我不想在我的应用程序中出现一个栏。有没有可能让它不可见? (对不起,如果这是一个新手问题......我一个新手,遗憾) 我在苹果文档中检查了这一点,并分析了“drilldownsave”示例项目,它面临着同样的问题:每次访问新视图时,它只是将它放在顶部,添加更多记忆,但没有摆脱旧的。遗憾的是,我不认为这是我需要的。 不是同一个问题。这些视图不是简单地放在彼此之上。视图控制器保存在内存中,因为它们需要维护状态,但如果 ios 内存不足,视图将被释放,因为视图控制器可以在必要时重新创建它们。通过在模拟器中发出内存警告自行检查。 哦,好的。是的,在过去的几个小时里,我一直在尝试独立做类似的事情,最终落到了 [self.view removeFromSuperView];它基本上可以用更少的工作完成我想要的。

以上是关于如何切换视图的主要内容,如果未能解决你的问题,请参考以下文章

如何切换像 instagram 个人资料这样的视图? (iOS)

如何切换视图

如何正确切换 UIViews

切换到视图控制器 B 后如何保持视图控制器 A 的状态?

UI-Router:如何在切换视图时保留视图

MFC如何在切换视图时关闭无模式对话框