0

UINavigationControllerのナビゲーションバーに2つのボタンを追加しようとしています。

1)左側の標準の「戻る」ボタン-これは機能し、

2)右側の「検索」ボタン-表示されません。

コードは次のとおりです。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

// 1st button - this shows up correctly:
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] init];
backButton.title = @"MAIN";
self.navigationItem.backBarButtonItem = backButton;    

// 2nd. button - this one does not show up:
UIBarButtonItem *searchButton = [[UIBarButtonItem alloc]
                                           initWithBarButtonSystemItem:UIBarButtonSystemItemSearch
                                           target:self
                                           action:@selector(goSearching:)];
self.navigationItem.rightBarButtonItem = searchButton;


itemsByTitleVC *itemsView = [[itemsByTitleVC alloc] initWithNibName:@"itemsByTitleVC" bundle:nil];


[self.navigationController pushViewController:itemsView animated:YES];

}

なぜこれが機能しないのか誰かがわかりますか?(その価値のために、私はストーリーボードでXcode 4.2を使用しています...)

4

4 に答える 4

5

rightBarButtonItemをfilterButtonに設定していますが、そうではありませんsearchButtonか?

// 2nd. button - this one does not show up:
UIBarButtonItem *searchButton = [[UIBarButtonItem alloc]
                                           initWithBarButtonSystemItem:UIBarButtonSystemItemSearch
                                           target:self
                                           action:@selector(goSearching:)];
// Here I think you wanna add the searchButton and not the filterButton..
self.navigationItem.rightBarButtonItem = searchButton;
于 2012-04-18T12:02:49.467 に答える
0

私は今日この問題に遭遇しました、そして最終的に私は私の(そしてあなたの)

self.navigationItem.rightBarButtonItem 

UIViewクラスの読み取り専用プロパティです。

を指す独自のプロパティを宣言するbarbuttonItemと、ボタンを変更できます。

于 2012-09-03T07:58:36.350 に答える
0

たぶん、searchButtonとfilterButtonを混ぜ合わせましたか?

編集:

もう一度あなたのコードを見て、あなたが:didSelectRowAtIndexPathでこれを行っていることに気づきました。

self.navigationItem.rightBarButtonItemを設定すると、実際には、itemsByTitleVCのボタンではなく、現在のnavigationControllerのボタンが変更されます。

したがって、解決策は、このコードをviewDidLoad:やviewWillAppear:などのitemsByTitleVC内のどこかに移動することです。

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html

于 2012-04-18T12:03:51.480 に答える
-1

私はこの問題に遭遇し、最後にsetterメソッドを使用してrightBarButtonItemを設定することで問題を解決しました。のように[self.navigationItem setRightBarButtonItem:saveButton animated:YES];

于 2016-07-20T07:51:17.807 に答える