1

ビューのナビゲーションに問題があります。

私は VC に「Login」と言ってもらい、次のような別の VC から呼び出しています。

- (IBAction) btnAction 
{           Login * login = [[Login alloc] init];

        [self.navigationController pushViewController:login animated:YES];
}   

ログイン VC には、Register と Forget Password という 2 つのボタンがあり、別の VC である RegisterVC と ForgetPassVC を呼び出します。

- (IBAction) btnRegisterNow : (id) sender
{

    aRegister = [[Register alloc] initWithNibName:@"Register" bundle:nil];
    [self.navigationController pushViewController:aRegister animated:YES];  
}

- (IBAction) btnForgotPassword : (id) sender
{
    forgotPassword = [[ForgotPasswd alloc] initWithNibName:@"ForgotPasswd" bundle:nil];
    [self.navigationController pushViewController:forgotPassword animated:YES];
}

私の問題 :

ログインを呼び出すと、[self.navigationController pushViewController:login animated:YES];すべてが正常に機能します。

しかし、一部の VC では、ログイン ページを表示する必要があります[self presentModalViewController:login animated:YES];。現時点では、[登録] と [パスワードを忘れる] の 2 つのボタンが機能しません。ボタンをクリックしても何も起こりません。

何が問題ですか ?私はログインをpushViewContellerではなくモーダルビューとして追加したと思います??? もしそうなら、どうすればこのタスクを達成できますか?

質問が明確であることを願っています。

ありがとう...

4

4 に答える 4

5

コントローラーをモーダルに提示すると、ナビゲーション コントローラーには含まれません。あなたは書くべきです

UINavigationViewController *nvc = [[UINavigationViewController alloc] initWithRootViewController:login];
[login release];
[self presentModalViewController:nvc animated:YES];
[nvc release];
于 2011-08-24T11:12:22.253 に答える
4

Forgot password & Register VCs をモーダル コントローラーとしてプッシュする必要があると思います。あなたはそれを試しましたか?

于 2011-08-24T11:11:27.150 に答える
0

[self presentModalViewController:login animation:YES]; を行っている場合。この場合、View Controller が渡され、[self.navigationController pushViewController:forgotPassword animation:YES]; を実装しようとすると、渡されます。ナビゲーションコントローラーがないため、機能しませんでした。

ログインをモーダル ビューとして表示する必要がありますか。次に、このコードを使用します:-

 - (IBAction) btnAction 
{
        Login *login=[[[Login alloc]initWithNibName:@"Login" bundle:nil]autorelease];
        UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:login]autorelease];
        [[self navigationController] presentModalViewController:navController animated:YES];

    }   

これで、忘れて登録する btn アクションが呼び出され、対応するページに移動します。

于 2011-08-24T11:15:22.847 に答える
0

ナビゲーション コントローラーをログイン ビュー コントローラーと共にルート コントローラーとして表示します。以下のコードを確認してください。

UINavigationController *navController = [UINavigationController alloc] initWithRootController:loginController]; [self presentModalViewController:navController]; [navController リリース];

于 2011-08-24T11:16:32.483 に答える