2

私は、テーブル、ビュー、タブバーコントローラーを含むviewControllersの配列を含むRootViewControllerを持っています...これらのいくつかはペン先を持っていますが、持っていないものもあります(私は過去に作成されたいくつかのアプリとWebアプリの機能を組み合わせています)しかし、それらはすべて正常に機能しています。ただし、ストーリーボードを使用するプロジェクトが1つあります。ストーリーボードからプログラムビューをインスタンス化することについて質問する質問がたくさんありますが、その逆はどうでしょうか。プログラムで実装したナビゲーションコントローラーにストーリーボードを追加するにはどうすればよいですか?これは可能ですか?そうでない場合、次善の回避策は何ですか?あなたの時間と配慮していただきありがとうございます。

以下のモデルの.hコードは次のとおりです。

 UIStoryboard *storyBoard;
UIViewController *storyboardViewController;

これが私の.mコードで、シェブロンがある場所で壊れます...

    self.viewControllers = [NSMutableArray arrayWithCapacity:self.apps.count];

storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
>>>storyboardViewController = [storyBoard instantiateViewControllerWithIdentifier:@"myViewCont"];
[self.viewControllers addObject:storyboardViewController];
4

2 に答える 2

2

さて、私は単純ではありません...

私はこれらの3つのことをしました:

かわった:

storyboardViewController = [storyBoard instanceiateViewControllerWithIdentifier:@ "myViewCont"];

storyboardViewController = [storyBoard instanceiateViewControllerWithIdentifier:@ "iPhone"];

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

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

この回答のバンドル部分をチェックするように言ったコメンターrdelmarに特に感謝します。

于 2013-03-27T14:18:55.747 に答える
1

ストーリーボード上の2011年のWWDCビデオは、セッションの終わり近くにこれを示しています。

を使用しますinstantiateInitialViewController(または、ストーリーボードの途中から始めたい場合はinstantiateViewControllerWithIdentifier:)。

ストーリーボードをタブバーコントローラーにロードする現在のプロジェクトのサンプルを次に示します。

    browserStoryboard  = [UIStoryboard storyboardWithName:@"ScheduleBrowse_iPhone" bundle:nil];
    resultVC = [browserStoryboard instantiateInitialViewController];
    UINavigationController *navigationController = (UINavigationController *)resultVC;
    filterChooserVC = (FilterChooserViewController *)navigationController.topViewController;
    filterChooserVC.managedObjectContext = self.managedObjectContext;
    filterChooserVC.kindOfContent = sortMode;
    filterChooserVC.filterGroup = filterGroup;
    resultVC.tabBarItem.image = [UIImage imageNamed:@"first"];
    resultVC.title = filterGroup.text;

戻りresultVCます。呼び出しルーチンで、プログラムで作成されたViewControllerの配列を作成します。それで

self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.viewControllers = viewControllers;
self.window.rootViewController = self.tabBarController;
于 2013-03-25T21:27:43.627 に答える