2

ナビゲーションコントローラーを使用しているアプリを作成しています。ナビゲーションバーからUIBarButtonItemを追加および削除しました。左側に戻るボタンがあり、右側に(MORE)という名前の追加のボタンがあります。

今、私の要件は、[詳細]をクリックすると、ナビゲーションバーの左側に[閉じる]ボタンを追加する必要があり、[戻る]ボタンを非表示にする必要があります。私もこれで終わりです。

問題は、私が使用しているCLOSEボタンを削除しているときに次のようになります。

self.navigationItem.leftBarButtonItem = nil;

戻るボタンも削除されます。戻るボタンを保持する必要があり、ボタンを削除するだけです。

自分が正しいかどうかわからないので、戻るボタンを表示するためのコードを書く必要があります。または、[もっと見る]ボタンをクリックしたときに[閉じる]ボタンだけを削除したり、それ自体を閉じることができる方法はありますか。

ありがとう

4

1 に答える 1

4

[詳細]ボタンをタップすると、[戻る]ボタンが非表示になり、NavBarの左側に[詳細]が追加されます。これにより、次のように実行できます。

-(void) moreButtonClicked{

[self.navigationItem setLeftBarButtonItem:nil animated:NO];
UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithTitle:@"CLOSE" style:UIBarButtonItemStyleBordered target:self action:@selector (closeButtonClicked:)];
self.navigationItem.leftBarButtonItem = closeButton;
[closeButton release];

}

[閉じる]ボタンを削除して前の場所に[戻る]ボタンを設定する場合は、次のようにしてみてください。

[self.navigationItem setLeftBarButtonItem:nil animated:NO];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"BACK" style:UIBarButtonItemStyleBordered target:self action:@selector (backButtonClicked:)];
self.navigationItem.leftBarButtonItem = backButton;
[backButton release];
于 2010-12-24T11:28:36.393 に答える