2012-02-09 8 views
0

私はこのサイトにこの問題を解決するのに何時間も注いできましたが、解決できませんでした。問題は次のとおりです。push segueはUITabBarControllerを描画しませんが、モーダルsegueは描画します。何か不足していますか?

私はU13ableViewControllerを使用してプッシュセグを使用して、UITabBarControllerをスタックにプッシュします。 UITabBarControllerは4 UITableViewControllersとの関係がある。

セグをモーダルに変更すると、ナビゲーションバーがない場合を除いて、UITabBarControllerに関連付けられている最初のUITableViewControllerが期待どおりに表示されます。プッシュセグを選択すると、問題が解決されます。ナビゲーションバーにUITabBarControllerのカスタム名とカスタムボタンが表示されますが、タブバーも最初のタブの内容も黒く表示されません。

プッシュセグが使用されたときに表示するUITabBarControllerの内容を取得するために何か特別なことがありますか?

UITabBarControllerが関連するUITableViewsのいずれかを埋め込むことを試みましたが、違いはありませんでした。

私の現在のアプリケーションの基本的な構造は次のとおりです。

のUIView - >(モーダル セグエ) - > UINavigationController - >(関係) - >のUITableViewController - >(プッシュセグエ) - > UITabBarController - >(リレーションシップ)[4 UITableViewController]

ありがとう!

+0

また、この時点で私はいずれかを渡す必要はありませんビュー間のデータ - 実際の便利な機能を追加する前にモックアップを動作させようとしています。 –

答えて

0

Appleは実際には、ではなく、はNavigationControllerでUITabbarcontrollerを使用することを推奨しています。一つは単純にそれをしません。だからあなたはこの有線の動作を得るのです。これが不要になるようにアプリケーションを再設計したり、モーダルSegueを使用したり、Tabbarcontrollerで新しいNavigationControllerを作成したりしてください。

カスタムTabbarcontrollerを作成する3つ目のオプションもありますが、個人的にはそうしません。なぜなら、Appleによって行われることは意図されておらず、それはかなりの仕事です。

あり、いくつかの他のソリューションかもしれませんが、私は試してみるのに十分なシンプルな何かを見つけることができませんでしたので、私は私のアプリでモーダルセグエを使用...

+0

ありがとうございます。私はこれが関連しているかどうかはわかりませんが、カスタムNavigationControllerまたはカスタムTabBarControllerをサブクラス化しても、どちらの場合でも基本的な自動生成クラスファイルだけを使用した場合は、黒い画面が表示されます。私がUINavigationControllerとUITabBarControllerの基本クラスを使っているだけなら、すべて正常に動作します。 ナビゲーションバーの右側のボタンをカスタマイズしたいのですが、UINavigationControllerのサブクラスでこれを1回だけ実行できると便利です。 –

+0

Soyy、私はあなたを助けませんTabBarControllerまたはNavigationcontrollerをサブクラス化しようとしたことがないため、 – sensslen

+0

@sensslen - ユーザーインターフェイスガイドラインで、UITabBarsとNavControllersについて指摘しているように、Appleが誇張して奨励しているような情報はどこにありますか?もしそうなら、私を正しい方向に向けることができますか? – d2burke

関連する問題