簡體   English   中英

將帶有控制器的視圖添加到帶有控制器的視圖-正確的方法?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM