1

私はこれを数日間いじっていますが、これを理解できません。

->基本的に、クリックするとボタンがあり、ナビゲーションコントローラーに移動する単純なログインビューを実装したいと思います(私の場合は、他のビューであるミニ数学ゲームにリンクするボタンを備えた「viewController」です)。

→ ログイン画面でボタンを押した時、ナビゲーションコントローラのルートビューより先にログイン画面を表示するように

-> ログイン画面のボタンをクリックしたときにナビゲーションコントローラーを宣言しようとしましたが、うまくいかないようです

-> ナビゲーション コントローラーは Apple デリゲートでしか初期化できないと言っても過言ではありませんか?

現在、ナビゲーションコントローラーを宣言および設定するAppleデリゲートにこれがあります:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:       (NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    UINavigationController *navigationViewController = [[UINavigationController alloc] initWithRootViewController:self.viewController];  // self.viewController is the main screen
    self.window.rootViewController = navigationViewController; // set root to navigationViewController
    [self.window makeKeyAndVisible];

    return YES;
}

どんなアイデアでも大歓迎です。お時間をいただきありがとうございます!

4

2 に答える 2

2

アプリ デリゲートのコードは正常に見えます。NavigationController は AppDelegate で宣言する必要はありません。あなたの場合、ログインボタンが押されたときにそれを宣言しても問題ありません。

ログインイベントでこれを試してください:

UIViewController *nextVC = [[UIViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:nextVC];
[self presentViewController:navController animated:YES completion:^{

}];
于 2013-10-24T01:57:11.560 に答える
0

私がすることは、loginViewController をナビゲーションの rootViewController として設定することです。ログインが成功したかどうかを確認した後、ゲームのviewControllerを宛先として設定する [self performSegueWithIdentifier:@"identifier"] を実装できます。(ストーリーボードを使用すると、作業がずっと簡単になります)。まあ、それは私の意見です:)

于 2013-10-24T02:55:25.570 に答える