我有一个UIViewController包含一个按钮。当我按下按钮时,我使用以下方法添加一个子视图控制器。如何添加和删除UIViewControllers到其他UIViewControllers
- (IBAction)loadEditScreen:(id)sender {
self.editViewController = [[EditViewController alloc] init];
[self addChildViewController:self.editViewController];
[self.editViewController didMoveToParentViewController:self];
self.editViewController.view.alpha = 0;
[self.editViewController.view setFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
[self.view addSubview:self.editViewController.view];
[self.editViewController setupImage:self.selectedImageView.image];
[UIView animateWithDuration:0.2
delay:0.0
options:0
animations:^{
self.editViewController.view.alpha = 1;
}
completion:^(BOOL finished){}];
}
- (void)closeEditScreen {
[self.editViewController willMoveToParentViewController:nil];
[self.editViewController.view removeFromSuperview];
[self.editViewController removeFromParentViewController ];
}
现在的问题似乎是,我不知道如何去需要删除子视图控制器。在子控制器中,我有一个按钮,可以调用以下内容。
- (IBAction)closeEditScreen:(id)sender {
HomeViewController *tmpController = [[HomeViewController alloc] init];
[tmpController closeEditScreen];
/*[UIView animateWithDuration:0.2
delay:0.0
options:0
animations:^{
self.view.alpha = 0;
}
completion:^(BOOL finished){
[self didMoveToParentViewController:nil];
[self.view removeFromSuperview];
}];*/
}
问题似乎是该方法被调用,但实际上并没有发生。即使我知道该方法正在工作,因为我已经设置了断点,View并未被删除。
任何帮助将是伟大的。我只是想添加一个childviewcontroller,然后有一个按钮,在按下时移除childviewcontroller。
由于提前
检查SO帖子http://stackoverflow.com/questions/13844432/container-uiviewcontroller-not-releasing-its-child-view-controllers – Jhaliya