2011-10-25 5 views
18
私が使用して、次のストーリーボードを達成するためにトラブルを抱えている

を決定:のiOS 5絵コンテ、プログラムでパス

設定が行われていない: 実行アプリ - >メインナビゲーションコントローラ 表示します。 - > showの設定は、コントローラを表示 run app - >メインナビゲーションコントローラを表示

基本的には、設定ビューでプログラムを起動し、メインナビゲーションコントローラを右にスキップする必要があります。

メインナビゲーションコントローラからモーダルスタイルのセグを使用して設定ビューを表示することができましたが、表示する方法がわかりませんの前にメインナビゲーションコントローラが表示されます。何か案は?

答えて

20

私はそれを少し異なる操作を行うために管理:

  1. は、初期ビューコントローラとしてUINavigationControllerを使用してください。
  2. ロード対象の決定を管理するルートビューコントローラを作成します。
  3. ルートビューコントローラからメインビューと設定ビューにStoryboard Seguesを作成し、セグに適切な識別子を付けます。
  4. ルートビューコントローラから適切な識別子を使用してperformSegueWithIdentifierを呼び出してください。

ちょっと別の解決策ですが、これが役立ちます。

+0

これは私が感じる問題に取り組むためのより良い、より簡単な方法です – carbonr

+0

合意、これはより良い解決策のようです。私は受け入れられた答えを変更しました。 –

+1

アプリケーションで分割ビューコントローラーを使用している場合、分割ビューコントローラーを最初のルートにする必要があるとは思われません。 – radven

29

デフォルトでは、メインストーリーボードの初期ビューコントローラーがインスタンス化され、アプリの起動時に自動的に表示されます。このようなことが起こらないようにするには、info.plistファイルからUIMainStoryboardFileの設定を削除する必要があります。

デフォルトのビューコントローラを使用しないため、アプリの起動時にプログラムでプログラムを作成することができます。 UIStoryboard documentationを参照してください。ストーリーボードを読み込むには+storyboardWithName:bundle:を使用し、–instantiateViewControllerWithIdentifier:を使用して正しいView Controllerを作成します。また、.nibベースのUIと同じように、メインUIWindowを作成し、ビューコントローラのビューを追加する必要があります。 UIMainStoryboardFileが設定されていないと、メインウィンドウは作成されません。explanationを読んでください。

+0

info.plistからストーリーボードを削除していただきありがとうございました! –

+0

簡潔な答え、ありがとう:) – Jarrod

+0

メイン 'UIWindow'を作成するには? – Siddharth

3

私はamoshavivに似た何かをしました、彼のアドバイスは健全です。私は少し違っていましたが、私はいくつかの情報を追加します。 UIViewControllerから派生したカスタムMyInitialViewControllerクラスを作成し、これを初期View Controllerにしました。 ストーリーボードファイルでは、すべての(私の場合は3つの)可能な「実際の」最初のビューコントローラーに適切な名前のモーダルセグを作成しました。 がMyInitialViewControllerクラスでは、私が最初に切り替えるにはビューのチェックを実行し、効果的に正しい

[self performSegueWithIdentifier:@"NameOfSegue" sender:self]; 

を行うには、

- (void)viewDidAppear:(BOOL)animated; 

方法を実装し、これはよりMyInitialViewControllerの何よりもになりますそれが表示されたときに実行されるスイッチです。私は実際にこのビューを見て気にしないので、ロードしたときにこれをやろうとしましたが、viewDidAppearは機能しませんでした。

これを視覚的に滑らかにするために、私は以下を試しました。セグのプロパティでは、私はアニメーションを無効にしました。ビューは空のままにして、スタートアップイメージの背景色に合わせて背景色を付けました。

関連する問題