2016-04-27 11 views
0

私のアプリケーションのビューの1つにSegmentedControlベースのナビゲーションを作成しました。各セグメントは、1つのContainer Viewが表示されている(および隠れている)1つに対応しています。コンテナの表示/非表示時のビューコントローラのライフサイクル

表示されているView Controllerが- (void) viewDidAppearメッセージを受け取り、View Controllerが非表示になるようにしたいのであれば、- (void) viewWillDisappearというメッセージを受信します。

これは簡単な方法で達成できますか?

答えて

1

あなたの実装はコンテナビューの実装方法ではありません。コンテナビューを使用するアイデアは、いくつかのイベントに基づいてビューコントローラを配置する単一のコンテナビューを持つことです。したがって、コントローラが変更されると、それに応じてライフサイクルコールバックが呼び出されます。これについてはチュートリアルがたくさんありますが、これについてはApple docをご覧ください。 あなたのケースでは、別のセグメントを押すと、コンテナ内でビューコントローラを変更する必要があります。

+0

ユーザーがSegmentを切り替えると、別のView Controllerを1つのContainer Viewにインスタンス化して埋め込む必要がありますか?私が理解している限り(Apple Sourcesではなく)、いくつかのコンテナビューをお互いの上に置いて、それらのうちの1つだけを隠してはいけない(「現在の」もの) - 間違っている可能性があります。 – Joakim

+0

セグメント化されたコントロールをタップすると、コンテナのView Controllerを新しいものに置き換える必要があります。私はあなたが隠れた方法について読んだところは分かりませんが、それは悪いです。 – Jelly

+0

注目。私はそれを試したときにあなたの答えを受け入れるだろう。 – Joakim

関連する問題