2017-06-13 16 views
-1

私はviewcontrollerをchid viewcontrollerとして提示しています。親ビューにある子ビューコントローラを親クラスclass.plaseに表示しています。 。 enter image description here子ビューコントローラで成功メッセージを受け取ったときに子クラスを親から削除する方法

これは、現在のchildvcを親に追加するために使用したコードです。私はparentvcから子クラスを削除する必要があり、バックエンドから成功メッセージを取得するとき

[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のクラスを持っています。

親クラスから子クラスを削除するには、次のコードを使用しています。

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

コードを使用すると、子クラスが削除されていますが、親クラスsuperview.Howからpopupviewを削除する必要があります。

お返事ありがとうございます。

+0

あなたは、私がコード –

+0

@NiravDのおかげで、このコントローラを追加する方法のコードを表示する必要が@NiravDコードを確認してください。 –

+0

を与えるあなたの親コントローラに迅速responceため –

答えて

1

あなたはyoviewcontrollerdelegateを設定されているので、あなたがそれを初期化するときselfにそれを設定していません。

yoviewcontroller = [storyBoard instantiateViewControllerWithIdentifier:@"yoviewcontroller"]; 
//Set the delegate to self 
yoviewcontroller.delegate = self; 
//Your other code 
+0

このコードはどこで呼びますか。 –

+0

@SatheeshkumarNaidu 'yopopup_view'にこのyoviewcontrollerを表示する場所に' delegate'を 'self'に設定する必要があります。 –

+0

私はこれをview.Willに表示しています。 yoviewcontrollerと表示されます。デリゲート=自己; –

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

こんにちはvishal私はこのコードを呼び出す必要がありますし、UIViewController * vcはどのようなvc –

+0

それが動作する場合は、受け入れられた答えとしてマークし、 。 –

+0

子ビューコントロールにボタンを閉じる? –

関連する問題