我必须在主视图(带控制器)中添加几个视图(每个视图都有自己的控制器)。我正在关注MVC。是否应该在视图类或控制器类中编写添加这些子视图的代码?还有,什么是正确的方式,
MyViewController1 *myViewController1 = [[MyViewController1 alloc] init];
[myMainViewController.view addSubview:myViewController1.view];
或者,其他一些方式?
还有另一种选择 - 容器视图控制器(使用addChildViewController
方法),但这很难管理,所以我需要简单的方法。
答案 0 :(得分:0)
如果要将视图控制器添加到另一个视图控制器的视图中,则需要使用容器包含。您可以在IB中使用容器视图执行此操作。这比在代码中制作自定义容器控制器更容易。
答案 1 :(得分:0)
绝对最好的方法是根据其功能维护ViewControllers(例如,一个可能是dashboardView
可能是settingsView
)。现在,当从一个视图控制器移动到另一个视图控制器时,使用navigationController
。
我遵循的做法是在您的应用启动时在navigationController
中声明一个appDelegate
,然后继续重复使用。示例 -
YourAppDelegate *delegate=(YourAppDelegate *)[[UIApplication sharedApplication] delegate];
MyViewController1 *myVC = [[ FLOHome alloc ]initWithNibName:@"MyViewController1" bundle:[NSBundle mainBundle]];
[delegate.navigationController pushViewController:myVC animated:NO];
这是处理viewControllers时的绝对最佳方式。 navigationController
处理很多内容,比如内存管理,缓存视图以使它们变得活泼。您可以继续推动viewcontrollers并在退出时弹出它们......