我想听听开发人员对在iPhone上交换视图的最佳方式的意见。视图交换技术
例如,我有一个标签栏,其中一个标签默认为登录视图。当用户登录视图时更改为登录视图。
我打算只使用一个视图控制器,并将所有内容隐藏在一个xib中并根据需要显示内容,但这看起来绝不优雅。
其次,我正在考虑有一个viewcontroller,只是交换xib。我不愿意尝试这个,因为我在一篇文章或2中读过它会导致内存泄漏。
最后,我正在考虑使用2个视图控制器与2个独立的xibs。我的直觉告诉我这可能是“正确”的解决方案,但我迄今未能以正确的方式追踪任何示例代码。
您能提供解决此问题最佳方法的建议吗? 有没有我没有列出的技术? 谢谢。
谢谢你的意见。我见过的加载xib的唯一例子如下所示。 loginViewController = [[oginViewController alloc] initWithNibName:@“LoginView”bundle:[NSBundle mainBundle]];我将如何加载第二个xib,一旦自己创建的实体控制器(从控制器内)( – dubbeat 2011-05-16 10:24:16
)当您还初始化视图控制器时,您不需要显式初始化NIB。您可以为视图控制器执行init,一旦将其加载到内存中,您可以在应用程序的模型中运行某些检查以显示哪个视图(登录或登录)。然后,您可以使用 - (NSArray *)loadNibNamed:(NSString *)名称所有者:(id)所有者选项:(NSDictionary *)选项构造加载视图。 – 2011-05-16 10:31:26
只需确保将NIB中的文件所有者设置为正确的视图控制器,否则您的包可能无法正确加载,或者对视图控制器中的IBOutlets可见。希望有所帮助! – 2011-05-16 10:32:33