0

ナビゲーション コントローラーの [戻る] ボタンにアイコンを追加 (およびタイトルを保持) しようとしています。UIBarButtonItem の画像を設定するとタイトルが隠れてしまうようなので、カスタムビューにしてみようと思いました。私はもう試した

UIButton* customButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[customButton setImage:[UIImage imageNamed:@"icon"] forState:UIControlStateNormal];
[customButton setTitle:@"Title" forState:UIControlStateNormal];
[customButton setAdjustsImageWhenHighlighted:YES];
[customButton setFrame:CGRectMake(0, 0, 125, 32)];

UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithCustomView:customButton];
self.navigationItem.backBarButtonItem = backButton;

しかし、Apple のドキュメントによると、backBarButtonItem はカスタム ビューを無視するため、これは機能しません。

私もこれを試しました:

self.navigationItem.leftBarButtonItem = backButton;
self.navigationItem.hidesBackButton = YES;

しかし、leftBarButtonItem がすぐに 1 つの画面に表示され、hidesBackButton が backBarButtonItem を非表示にしていないようです。

画像とタイトルの両方をナビゲーション backBarButtonItem に取得する別の方法はありますか?

4

1 に答える 1

1

最初にUINavigationController、コードを使用して提供される戻るボタンを非表示にしますself.navigationItem.hidesBackButton = YES;

そして、次のコードで画像とタイトルで独自のボタンを設定します

UIButton* customButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[customButton setImage:[UIImage imageNamed:@"icon"] forState:UIControlStateNormal];
[customButton setTitle:@"Title" forState:UIControlStateNormal];
[customButton setAdjustsImageWhenHighlighted:YES];
[customButton setFrame:CGRectMake(0, 0, 125, 32)];

UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithCustomView:customButton];
self.navigationItem.backBarButtonItem = backButton;
于 2013-04-05T14:28:23.643 に答える