我想听听开发人员关于在iphone上交换视图的最佳方式的意见。
例如,我有一个选项卡栏,其中一个选项卡默认为登录视图。当用户登录时,视图将更改为已登录的视图。
我打算只使用一个视图控制器,并将所有内容放在一个xib中,根据需要隐藏和显示内容,但这看起来一点也不优雅。
其次,我正在考虑使用一个视图控制器,并简单地交换一下xib。我有点不愿意尝试,因为我在一篇或两篇文章中读到它可能导致内存泄漏。
最后,我考虑使用2个视图控制器和2个独立的xibs。我的直觉告诉我,这可能是“适当的”解决方案,但到目前为止,我还没有找到任何正确的方法来实现它的示例代码。
你能提供解决这个问题的最佳方法的建议吗?有没有我没有列出的技术?谢谢。
发布于 2011-05-16 18:06:51
我将保留在视图控制器中显示哪个视图的逻辑。XIB本身就是视图,其中不应该包含任何对象,这些对象对于特定视图来说是暂时的或不总是可见的。
你的第二种方法(交换观点)对我来说似乎是正确的方法,而且我个人在这些情况下总是这样做的。如果操作正确,我不知道有任何内存问题(从superview中删除,然后加载新视图作为控制器视图的子视图)。在加载新的XIB之后,在将其显示给用户之前,您可以执行任何自定义初始化。
多个视图控制器似乎是多余的,因为理想情况下,您将需要另一个顶级控制器来管理两个视图控制器。
https://stackoverflow.com/questions/6015545
复制相似问题