10

UINavigationController スタック内でプッシュされた VC セットの [戻る] ボタンを設定しようとしています。次のコードを使用していますが、機能していません。以前の VC 名が [戻る] ボタンのタイトルとして表示されます。

-(void)viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];

    self.title = @"VC Title";

    UIBarButtonItem* myBackButton = [[UIBarButtonItem alloc]
                                     initWithTitle:@"Back"
                                     style:UIBarButtonItemStyleBordered
                                     target:nil
                                     action:nil];

    self.navigationItem.backBarButtonItem = myBackButton;

}

誰?

4

7 に答える 7

16

親View Controllerのタイトルを設定してみてくださいviewDidLoad

UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(popView)];

self.navigationItem.leftBarButtonItem = customBarItem;
于 2013-08-26T13:43:42.963 に答える
13

Appleのドキュメントから:

ナビゲーション バーの左側にあるバー ボタン項目を使用すると、ナビゲーション スタックの前のビュー コントローラーに戻ることができます。ナビゲーション コントローラーは、ナビゲーション バーの左側を次のように更新します。

新しい最上位ビュー コントローラーにカスタムの左バー ボタン項目がある場合、その項目が表示されます。カスタムの左バー ボタン項目を指定するには、View Controller のナビゲーション項目の leftBarButtonItem プロパティを設定します。

最上位ビュー コントローラーにカスタムの左バー ボタン項目がなく、前のビュー コントローラーのナビゲーション項目の backBarButtonItem プロパティに有効な項目がある場合、ナビゲーション バーにはその項目が表示されます。

カスタム バー ボタン項目がどちらのビュー コントローラーでも指定されていない場合、デフォルトの戻るボタンが使用され、そのタイトルは前のビュー コントローラー (つまり、1 レベル下のビュー コントローラー) の title プロパティの値に設定されます。スタック。(ナビゲーション スタックに View Controller が 1 つしかない場合、[戻る] ボタンは表示されません。)

お役に立てれば。

于 2013-08-26T13:47:27.290 に答える
3
self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItem =[[UIBarButtonItem alloc] initWithTitle:@"Put Any Title"
                                      style:UIBarButtonItemStyleBordered
                                     target:nil
                                     action:nil];
于 2014-02-20T11:24:40.657 に答える
0

backBarButtonItem を前の viewController の navigationItem に設定します。この回答https://stackoverflow.com/a/25680043/111277を確認してください。詳細な分析については、私のブログ投稿iOS Set Navigation Bar Back Button Titleを確認してください。

于 2014-08-22T09:47:21.013 に答える