当我在子视图控制器中获取成功消息时,如何从父级中删除子类

时间:2017-06-13 05:49:41

标签: ios objective-c parent-child

我将viewcontroller呈现为chid viewcontroller。我在父类class.plase中的popupview中呈现子viewcontroller,找到下面的图像以获得清晰的想法。enter image description here

这个代码我用来在父母中添加当前的childvc。

   [self.view addSubview:yopopup_view];
        yopopup_view.hidden=NO;

        yoviewcontroller = [storyBoard instantiateViewControllerWithIdentifier:@"yoviewcontroller"];
        CGRect contentFrame = yocontantview.frame;
        contentFrame.origin.y = yocontantview.frame.origin.y;
        contentFrame.size.height = yocontantview.frame.size.height;
        yocontantview.frame = contentFrame;
        yoviewcontroller.view.frame = yocontantview.bounds;

        [yocontantview addSubview:yoviewcontroller.view];
        [self addChildViewController:yoviewcontroller];
        [yoviewcontroller didMoveToParentViewController:self];

现在我是childvc当我从后端获得成功消息时,我有一个api类我从parentvc中删除了子类。

我使用以下代码从父类中删除子类。

[self willMoveToParentViewController:nil];
[self.view removeFromSuperview];
[_delegate closeyopopmethod:@"close"];
[self removeFromParentViewController];  

当我使用代码时,我将删除子类,但我必须从父类superview中删除popupview。如何做到这一点。

感谢您的快速反应。

2 个答案:

答案 0 :(得分:1)

您尚未设置delegate的{​​{1}},因此在初始化时将其设置为yoviewcontroller

self

答案 1 :(得分:0)

UIViewController *vc = [self.childViewControllers lastObject];
[vc.view removeFromSuperview];
[vc removeFromParentViewController];