[英]Adding views with controllers to a view with controller - proper way?
我必须将几个视图(每个都有自己的控制器)添加到主视图(带有控制器)。 我正在关注MVC。 应该在视图类或控制器类中编写添加这些子视图的代码吗? 还有,什么是正确的方法
MyViewController1 *myViewController1 = [[MyViewController1 alloc] init];
[myMainViewController.view addSubview:myViewController1.view];
还是其他方式?
还有另一个选项-容器视图控制器(带有addChildViewController
方法),但是很难管理,所以我需要简单的方法。
如果要将视图控制器添加到另一个视图控制器的视图中,则需要使用容器包含。 您可以在IB中使用容器视图进行操作。 这比在代码中创建自定义容器控制器更容易。
最好的绝对方法是根据ViewController的功能进行维护(例如,一个可能是dashboardView
一个可能是settingsView
)。 现在,从一个视图控制器移动到另一个视图控制器时,可以使用navigationController
。
我遵循的做法是在应用启动时在appDelegate
声明一个navigationController
,然后继续重用它。 范例-
YourAppDelegate *delegate=(YourAppDelegate *)[[UIApplication sharedApplication] delegate];
MyViewController1 *myVC = [[ FLOHome alloc ]initWithNibName:@"MyViewController1" bundle:[NSBundle mainBundle]];
[delegate.navigationController pushViewController:myVC animated:NO];
这是处理viewControllers时绝对的最佳方法。 navigationController
处理很多事情,例如内存管理,缓存视图以使其变得活泼。 当您退出视图控制器时,可以继续推动它们并弹出它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.