[英]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.