Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Do I have to call addSubview after calling addChildViewController?

I'm trying to create a container view controller using iOS5 and new methods like addChildViewController.

Do I have to call addSubview after calling addChildViewController?

Do I have to call removeFromSuperview before calling removeChildViewController?

I don't see anything about this in Apple docs. What do you think?

like image 445
Ricardo Avatar asked Apr 13 '12 15:04

Ricardo


1 Answers

1) Do I have to call addSubview after calling addChildViewController?

Yes

2) Do I have to call removeFromSuperview before calling removeChildViewController?

Not quite

You should call removeFromParentViewController: instead of removeChildViewController: You should also call willMoveToParentViewController:

For adding / removing, you can refer to this great category :

UIViewController + Container

- (void)containerAddChildViewController:(UIViewController *)childViewController {      [self addChildViewController:childViewController];     [self.view addSubview:childViewController.view];     [childViewController didMoveToParentViewController:self];  }  - (void)containerRemoveChildViewController:(UIViewController *)childViewController {      [childViewController willMoveToParentViewController:nil];     [childViewController.view removeFromSuperview];     [childViewController removeFromParentViewController];  } 

Official resource at developer.apple.com

like image 51
Peter Lapisu Avatar answered Sep 24 '22 11:09

Peter Lapisu