0

ビューのナビゲーション項目のタブバーに BackButton を追加する次のコードがあります。それは正常に動作します。

// Add back button
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
[view.navigationController setNavigationBarHidden:NO animated:YES];
view.navigationItem.backBarButtonItem = backButton;
view.navigationController.navigationBar.barStyle = UIBarStyleBlack;
[backButton release];

次の行を使用して新しいビュー コントローラーに移動しますが、デフォルトのアニメーションが表示されます。

[view.navigationController pushViewController:viewController2 animated:YES];

表示方法を変更したいので、次の方法でやってみました。

[viewController2 setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [view.navigationController presentModalViewController:viewController2 animated:YES];

これは正常に動作しますが、BackButton を紛失しました..!! とにかく、新しいView Controllerを特定のトランジションスタイルで表示し、戻るボタンをそのままにしておくことはありますか?

ありがとう。

4

1 に答える 1

0

あなたの質問に対する答えを見つけました。インターフェイス ビルダーまたはコードを使用して、viewController2 にナビゲーション バーを配置し、バー ボタンを追加します。次に、ボタンを押すアクションで

インターフェイスビルダーを介してバーボタンを追加した場合は、viewController2.m でこの関数を記述し、ボタンの押下にリンクします。

-(void) backButtonPressed : (id) sender
{
    [self dismissModalViewControllerAnimated:YES];
}

これで問題が解決するはずです。pushViewController を実行すると、navigationBar とすべてが引き継がれますが、viewController を modalViewController として提示しても、デフォルトではナビゲーションバーが表示されないため、modalViewController である viewController2 に手動で追加する必要があります。

問題が解決しない場合はお知らせください。すぐに修正できるので、時間とフラストレーションを軽減できます。

乾杯!!!

于 2011-06-13T12:05:22.877 に答える