1

我必须将几个视图(每个都有自己的控制器)添加到主视图(带有控制器)。我正在关注 MVC。添加这些子视图的代码应该写在视图类还是控制器类中?另外,什么是正确的方法,

MyViewController1 *myViewController1 = [[MyViewController1 alloc] init];
[myMainViewController.view addSubview:myViewController1.view];

或者,其他方式?

还有另一种选择 - 容器视图控制器(带有addChildViewController方法),但这很难管理,所以我需要简单的方法。

4

2 回答 2

0

如果您将视图控制器添加到另一个视图控制器的视图中,那么您需要使用容器包含。您可以在 IB 中使用容器视图执行此操作。这比在代码中制作自定义容器控制器更容易。

于 2013-01-29T05:54:02.387 回答
0

绝对最好的方法是根据视图控制器的功能来维护它们(例如,一个可能是dashboardView一个可能是settingsView)。现在,当从一个视图控制器移动到另一个视图控制器时,使用navigationController.

我遵循的做法是navigationControllerappDelegate您的应用程序启动时声明一个,然后继续重用它。例子 -

YourAppDelegate *delegate=(YourAppDelegate *)[[UIApplication sharedApplication] delegate];
MyViewController1 *myVC = [[ FLOHome alloc ]initWithNibName:@"MyViewController1" bundle:[NSBundle mainBundle]];
[delegate.navigationController pushViewController:myVC animated:NO];

这绝对是处理 viewController 的最佳方式。navigationController处理很多事情,比如内存管理、缓存视图以使它们变得活泼。当您退出视图控制器时,您可以继续推动视图控制器并弹出它们......

于 2013-01-29T05:56:13.370 回答