6

ストーリーボードの最初のビューコントローラにアクセスしようとしています。これは、セグエを介して2番目のビューコントローラーに接続されているナビゲーションコントローラーです。したがって、アプリケーションの起動が完了した後、セグエを介して接続されているviewControllerを直接表示したいと思います。このようなコードで試してみましたが、うまくいきません...

UINavigationController *navController = (UINavigationController*)self.window.rootViewController;
[navController.topViewController performSegueWithIdentifier:@"showLoginScreen" sender:self];

私は何が間違っているのですか?

4年後

4年後にもう一度質問を見ると、正直なところ、本当の問題が何だったのかわかりません。

4

3 に答える 3

27

にチェックマークが付いていることを確認してください

初期のViewControllerです

UINavigationControllerストーリーボードのオプション

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UINavigationController * myStoryBoardInitialViewController = [storyboard instantiateInitialViewController];
于 2012-11-08T12:49:23.213 に答える
4

セバスチャン、最初のView Controllerを手動で開始する理由がわかりません。[新しいプロジェクト]ウィザードの2番目の画面で[ストーリーボードを使用する]にチェックマークを付けると、すべてのプロジェクト(すべてストーリーボードを使用)が自動的に開始します。

ストーリーボードシーンを初期としてマークする必要があるかもしれませんか?これは、シーンの属性インスペクターで「Is Initial View Controller」にチェックマークを付けることで実行できます。これは、明らかに名前が付けられています。

そして、-シーンに手動でアクセスする必要がある通常とは異なる設定がある場合は、次を使用できます。

UIStoryboard *sb = [UIStoryboard storyboardWithName: "StoryboardName"
                                             bundle: [NSBundle mainBundle]];
UIViewController *vc = [sb instantiateInitialViewController];

(注意してください-ここではコードが完成していないので、スペルをもう一度確認してください。)

または多分私はあなたの質問を完全に間違っていると思っています..?ハッピーハッキング!

于 2012-11-08T12:43:55.887 に答える
0

私のアプリにはtabBarがあります

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

TabBarController *tabBar = [storyBoard instantiateViewControllerWithIdentifier:@"TabBarController"];

_window.rootViewController = tabBar;
于 2012-11-08T12:51:39.070 に答える