2011-10-25 10 views
1

NavControllerを作成してUIViewを配置するViewControllerがあります。iPhone - ビューとNavigationControllerを削除する

nvcontrol =[[UINavigationController alloc] initWithRootViewController:menuView]; 
... 
UIView *parent = self.view.superview; 
[parent addSubview:nvcontrol.view]; 

子ビューコントローラ内からビュー(NavControllerを含む)を閉じる必要があります。

私が試した次のスニペットは、NavController自体ではなく、NavController内のビューを閉じるだけです。これで青い頭の下に空白が表示されます。

[self.view removeFromSuperview]; 

これを解決するにはどうすればよいですか?

答えて

2

は、私はこれを試していないが、私はこのような何かが動作するはずだと思う:

[self.navigationController.view removeFromSuperview]; 
+0

を助けるが、まだあります。それは子供のビューとトップのNavbarを取り除きますが、画面は白です。 – LouwHopley

+0

私の推測は、おそらく、再描画やリフレッシュが必要なビューの下にあるものと思われます。しかし、そのルートを下るのではなく、単純なアプローチがあると思う。あなたのnavコントローラのように聞こえ、その子供たちが表示されたときにその子供たちが主要なView Controllerになるのです。 presentModalViewControllerを使用しないでください:それらを表示するにはアニメーション?その後、dismissModalViewControllerを使ってそれらを取り除くことができます。 Googleのメソッド名と、たくさんの例が見つかります。 –

+0

最初の(実際の)ソリューションが開始されました。ありがとう:) – LouwHopley

0

@traingle_manあなたはビューがuinavigationコントローラのプロパティですか?

私はあなたの質問が正しい理解していれば、これはほとんど

[nvcontrol.view removeFromSuperview]; 
+0

'nvcontrol'が子ビューコントローラ内で(スコープ内で)表示されないように注意してください。 – LouwHopley

+0

はい、UINavigationControllerはUIViewControllerからビュープロパティを継承します。 –

関連する問題