0

私の tabBarController には 5 つのビューがあり、それらはすべて個別のナビゲーション コントローラーに埋め込まれています。つまり、すべてのビューに独自のナビゲーション コントローラーがあります。セグエを簡単にプッシュできるようにするためにこれを行いました。おそらく最善の解決策ではないことはわかっていますが、正常に機能します。今私の質問に:

次のコードで初期ビューを設定しようとしています:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    tabBarController.selectedIndex = 2;
    return YES;
}

ただし、まったく機能していません。アプリが起動し、インデックス 0 (一番左のビュー) が表示されるだけです。

このような徹底的なスレッドを検索し、これを解決するためにさまざまな方法を試しましたが、成功しませんでした...

最も近いのは、MainStoryboard_iPhone.storyboard で、開始したいビューコントローラーの「初期ビューコントローラーです」ボックスをチェックしたときでした。このようにして、正しい開始ビューコントローラーを取得しましたが、タブバーは表示されませんでした。

4

1 に答える 1

1

ストーリーボードを使用しているので、これを行います: 1) tabBarController にストーリーボード識別子 (tbc など) を与えます。2) appDelegate DidFinishLaunching で、これを実行します::

UITabBarController *tbc = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"tbc"];

[tbc setSelectedIndex:1];
[self.window setRootViewController:tbc];
[self.window makeKeyAndVisible];

return YES;

PS:これは、それを機能させるための多くの方法の1つにすぎません

于 2013-01-30T20:57:02.537 に答える