2017-02-17 17 views
0

戻る私は最初、私は現在、ストーリーボードで働いているアプリのための基本的なレイアウトを作成したとき、私は2つのステップでそれをやった:ナビゲーションコントローラーにビューコントローラーを組み込み、次にタブバーコントローラーに組み込むと、ナビゲーションバーがタブバーコントローラーに接続されますか?

  1. は私のビューコントローラを選択し、Editorの使用>埋め込みのIn>ナビゲーションコントローラ。
  2. もう一度My View Controllerを選択し、エディタ - >埋め込み先 - >タブバーコントローラを使用しました。

これは、得られたレイアウトでした:

質問1:は、なぜこれらの手順は、このような奇妙なレイアウトを作成するのですか?

ナビゲーションコントローラーが親としてタブバーコントローラーに接続されていることを暗示するようなこの奇妙なレイアウトでは、ナビゲーションアイテムをアプリケーションに表示する唯一の方法(View Controllerによって制御されるビュー右)は、それらをTab Bar Controllerシーンのナビゲーションバーに配置することです。

しかし、これは、カスタムビュー用のビューコントローラファイルにIBOutletを作成できず、タブバーコントローラシーンのタイトルビュースロットにドラッグするなど、さまざまな問題を引き起こします。一方、View Controllerシーンのナビゲーションバーに何かをドラッグするだけで、実行時にアプリに表示されなくなります。

質問2:このレイアウトを修正して、ナビゲーション項目からView Controllerファイルにドラッグできるようにするにはどうすればよいですか?それとも、実際にはすべて正しいのですか?私はただではいけないものを強制しようとしていますか? (ここでは私の意図は、私のビューコントローラのコードでカスタムタイトルビューのテキストを設定することができることです。)

答えて

1

その明白な、あなたは、あなたがあなたの第2工程を変更する必要があるとNavigationControllerを埋め込む必要があるMyViewControllerNavigationControllerに埋め込みたい場合〜Tab Bar Controller

  1. MyViewControllerを選択し、Editor->Embed In->Navigation Controllerを使用しました。
  2. 選択NavigationControllerMyViewControllerで埋め込み、Editor->Embed In->Tab Bar Controllerを使用しました。

これは次のようになります。

enter image description here

注:あなたはこのTabBarItemにプッシュ操作を実行したい場合にのみnavigationControllerMyViewControllerを埋め込む必要が賢明な他のMyViewControllerと意味は、単にTabBarControllerNavigationControllerでそれを埋め込む必要がMyViewControllerを埋め込みません。

+0

VCがTabbarで単一の場合ナビゲーションコントローラ –

+0

@ Anbu.Karthikを組み込む必要はありません明らかにOPはUITabBarControllerを追加しません。また、この質問は、タブに接続されたUIViewControllerにナビゲーションコントローラを埋め込む方法を尋ねるので、これは質問に対する正解です。 –

+0

@ Anbu.Karthikこの詳細についての編集の回答です。 –

関連する問題