我有一個擁有兩個容器的視圖控制器。我有查看每個這些容器的控制器。這三個視圖控制器在不同的故事板上。如何以編程方式將兩個視圖控制器添加到兩個容器?以編程方式將兩個視圖控制器添加到兩個容器視圖
回答
首先,你需要得到你的故事板。爲了做到這一點,你應該使用UIStoryboard
類
UIStoryboard *firstStoryboard = [UIStoryboard storyboardWithName: @"FirstStoryboardName" bundle: nil];
UIStoryboard *secondStoryboard = [UIStoryboard storyboardWithName: @"SecondStoryboardName" bundle: nil];
UIStoryboard *thirdStoryboard = [UIStoryboard storyboardWithName: @"ThirdStoryboardName" bundle: nil];
接下來,你需要獲得初始視圖控制器來回那些故事板(假設firstStoryboard的視圖控制器包含這兩個容器)
UIViewController *secondVC = (UIViewController *)[secondStoryboard instantiateInitialViewController];
UIViewController *thirdVC = (UIViewController *)[thirdStoryboard instantiateInitialViewController];
現在添加這些包含容器的視圖控制器中的容器的兩個視圖控制器
UIViewController *firstVC = (UIViewController *)[firstStoryboard instantiateInitialViewController];
// TODO: Add secondVC and thirdVC as the children of firstVC
您可以通過
[[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil] instantiateViewControllerWithIdentifier:@"secondVCSrorybradID"];
指不同的故事板,你應該給你想要創建一個標識符的VC。
而且比你可以把它與addSubview添加到任何框架:
因此要回答關於加載項的問題g視圖控制器到容器... 容器視圖只是一個簡單的方法來添加子視圖控制器在界面生成器與segues。
因此,要以編程方式執行此操作,請首先從各個故事板實例化視圖控制器(請參閱Ch0k018的答案)。
屬於容器視圖的視圖控制器必須作爲子視圖控制器添加到主視圖控制器。你可以閱讀有關遏制這裏https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html
// Add the child view as subview
childViewController.view.frame = self.containerView.bounds;
[self.containerView addSubview:childViewController.view];
// Need to call these methods to complete
[self addChildViewController:tableViewController];
[childViewController didMoveToParentViewController:self];
從蘋果文檔:
下面的代碼做什麼:
它調用容器的addChildViewController:方法來添加子。調用addChildViewController:方法也會自動調用孩子的willMoveToParentViewController:方法。 它訪問子視圖屬性以檢索視圖並將其添加到其自己的視圖層次結構中。容器在添加視圖之前設置孩子的大小和位置;容器總是選擇孩子內容出現的地方。雖然此示例通過明確設置框架來實現此目的,但您也可以使用佈局約束來確定視圖的位置。 它明確地調用孩子的didMoveToParentViewController:方法來表示操作已完成。
- 1. 將UIPageViewController添加到視圖控制器的容器視圖
- 2. 將多個視圖(&nibs)添加到單個視圖控制器
- 3. Android:以編程方式添加兩個文本視圖
- 4. 兩個在一個視圖控制器
- 5. 一個控制器兩個視圖
- 6. 以編程方式將數據從一個視圖控制器傳遞到現有視圖控制器
- 7. 使用AutoLayout以編程方式將視圖添加到視圖控制器的視圖
- 8. 將視圖控制器添加到容器視圖覆蓋視圖
- 9. 以編程方式在視圖控制器中訪問視圖
- 10. 以編程方式添加到視圖控制器的UITableView將不會填充
- 11. 如何在一個視圖控制器中將xib加載到兩個容器視圖中
- 12. iPhone如何將視圖控制器的視圖添加到另一個視圖控制器的視圖?
- 13. UISearchBar在兩個視圖控制器
- 14. 同時推兩個視圖控制器
- 15. 區分兩個視圖控制器
- 16. 如何以編程方式將選擇器添加到視圖
- 17. iOS - 將子視圖添加到子視圖控制器視圖
- 18. 如何以編程方式將視圖添加到視圖
- 19. 以編程方式將視圖添加到Android視圖組
- 20. 容器視圖控制器編程
- 21. 兩個視圖控制器,一個視圖?
- 22. 在一個視圖控制器中的兩個表視圖swift
- 23. 在一個視圖控制器中的兩個表視圖swift
- 24. 將1個視圖控制器鏈接到兩個.h文件
- 25. 如何在UIPageViewcontroller中添加兩個視圖控制器
- 26. 使用分段控制器使用兩個容器視圖
- 27. 添加視圖控制器的NIB到另一個視圖控制器
- 28. 如何以編程方式加載數據到下一個視圖控制器?
- 29. 如何創建一個視圖添加到視圖控制器?
- 30. 視圖控制器加載兩次