18

を非表示にする方法を知っている人rightBarButtonItemはいUINavigationControllerますか? 私のアプリケーションには、編集ボタンがありrightBarButtonItemますUINavigationController。これを隠したいですか?いくつかの操作が完了したときの UIBarButton`。

4

3 に答える 3

19

右ボタンを非表示にするには:self.navigationItem.rightBarButtonItem = nil;

今、それを示すために:

  1. ビュー コントローラで右のボタンを self.editButtonItem に割り当てて設定した場合は、表示するために再度割り当てるだけです。

    self.navigationItem.rightBarButtonItem = self.editButtonItem;

  2. UIBarButtonItem を割り当てて初期化することにより、View Controller で右のボタンを設定する場合は、View Controller で UIBarButtonItem への参照を保持し、表示する必要があるときに再度割り当てます。

于 2011-11-12T17:44:19.147 に答える
18

試す

self.navigationItem.rightBarButtonItem = nil;

ボタンをインスタンス化する必要がありますが、元に戻したい場合は

UIBarButtonItem *rightBarButton = 
 [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch
                                               target:self
                                               action:@selector(searchBar:)];
self.navigationItem.rightBarButtonItem = rightBarButton;
[rightBarButton release];
于 2010-06-15T06:06:31.557 に答える
15

何らかの条件に基づいてボタンを非表示/表示する必要がある場合は、これを試してください。

if (condition) { 
    self.navigationItem.rightBarButtonItem.title = @"";
    self.navigationItem.rightBarButtonItem.enabled = NO;
} else {
    self.navigationItem.rightBarButtonItem.title = @"my button title";
    self.navigationItem.rightBarButtonItem.enabled = YES;
}

この方法では、ボタンへの参照をプロパティに保存したり、新しいボタンにアクションを接続することを心配したりする必要はありません。

于 2014-03-24T18:03:22.723 に答える