4

最初のビューコントローラーがUITabBarControllerに接続されていて、この最初のビューコントローラーから2番目のビューコントローラーにプッシュセグエを作成したいとします。

私のグーグルから、UITabBarControllerに接続されたView Controllerからのモーダルセグエは下部のタブバーを非表示にしているようですが、プッシュセグエは非表示にしています。ただし、プッシュセグエは、2番目のViewControllerのタブバーも非表示にしています。最初のViewControllerでprepareForSegueメソッドをオーバーライドしました。

以下は私のストーリーバードとシミュレーターの画像です。なぜこれが当てはまるのか誰にも分かりますか?よろしくお願いします。 右下のビューコントローラのストーリーボードに下部のタブバーがあるようですが、シミュレータにはTTが表示されません

ここに画像の説明を入力してください

4

1 に答える 1

11

問題は、ログイン画面で初期化するナビゲーションスタックにtabViewControllerが埋め込まれているためです。

タブバーコントローラーの各タブが新しい​​ナビゲーションスタックに開くように、物事を再配置する必要があります。

私が提案すること

  • ログイン画面は、プッシュセグエではなく、モーダル/プレゼンテーションセグエを使用してタブバーコントローラーに移動する必要があります。ログイン画面を囲むnavControllerを削除します。これは必要ありません(保持している場合でも、プッシュセグエを使用せず、モーダルセグエを使用すると、そのnavControllerのviewControllerスタックを参照しなくなります)タブバーの内側から)。

  • tabViewCOntrollerの最初の各viewControllerを個別のnavController内に埋め込みます。

これで、tabViewControllerのタブ内でセグエをプッシュできます。

于 2013-02-04T20:40:02.363 に答える