在iOS中,将嵌套视图控制器的视图放置在UIViewController的视图中是否是通常不良的编程实践?比如说,我想要添加一种交互元素以响应用户的触摸事件,但是只占屏幕的25%。
我想我会通过以下方式将此嵌套视图控制器添加到我的UIViewController中:
[self.view addSubview: nestedViewController.view];
在iOS中,将嵌套视图控制器的视图放置在UIViewController的视图中是否是通常不良的编程实践?比如说,我想要添加一种交互元素以响应用户的触摸事件,但是只占屏幕的25%。
我想我会通过以下方式将此嵌套视图控制器添加到我的UIViewController中:
[self.view addSubview: nestedViewController.view];
我把这段代码放在父视图控制器中。它对我很有效。
Objective-C
-(void)viewDidLoad{
[super viewDidLoad];
InnerViewController *innerViewController = [self.storyboard instantiateViewControllerWithIdentifier:INNER_VIEW_CONTROLLER];
[self addChildViewController:innerViewController];
[self.view addSubview:innerViewController.view];
[innerViewController didMoveToParentViewController:self];
}
Swift:
let childViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ChildViewController"),
self.addChildViewController(childViewController)
self.view.addSubview(childViewController.view)
childViewController.didMove(toParentViewController: self)
这是我基于Swift Developers On FB的答案的Swift 3解决方案。
let childViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ChildPageViewController"),
self.addChildViewController(childViewController)
self.view.addSubview(childViewController.view)
childViewController.didMove(toParentViewController: self)