2012-09-04 8 views
10

編集可能なアイテムのリストを作成しようとしています。このような何か:そのためにNavigationBarでBarButtonItemのテキストを変更するにはどうすればよいですか?

enter image description here

は、私はXCodeのデザイナーで2つのバーボタンアイテムを追加、その後、ビューの上部にNavigationBarを追加しました。私は、編集の右側にあるボタンの左側にあるボタンの識別子を「追加」に設定しました。

[編集]をクリックすると、テキストを[完了]に変更します。私は様々な方法を試みました。 btnEdit.Title = "Done"ですが、単純には受けません。

私はいくつかのブログ投稿が.SetTitleを推奨しているのを見ましたが、UIButtonBarItemは(少なくともMonoTouchでは)その方法を持っていません。

どうすれば[編集]ボタンのタイトルを変更できますか?

答えて

14

私はそれを解決しました。キーは、編集ボタンの識別子をシステム値(例:UIBarButtonSystemItemEdit)に設定していたため、それらのテキストを変更することができませんでした(現在意味があります)。私は識別子をカスタムに戻して、.Titleの設定をうまくいきました。

+0

本当に役に立ちます。ありがとう:) –

+0

Godddd私は恥ずかしいほど長い時間のためにこれに立ち往生していた..ありがとう!! –

4

のように私のために働くUIBarButtonItem * btnEdit; .hのクラスmememberです。今すぐだろうと呼ばれるセレクタ

btnEdit = [[UIBarButtonItem alloc]initWithTitle:@"Edit" style:UIBarButtonItemStyleBordered target:self action:@selector(btnEditClicked)]; 
self.navigationItem.leftBarButtonItem = btnEdit; 
//[btnEdit release]; 

-(void)btnEditClicked 
{ 
    if([btnEdit.title isEqualToString:@"Edit"]) 
    { 
    [btnEdit setTitle:@"Done"]; 
    } 
    else 
    { 
    [btnEdit setTitle:@"Edit"]; 
    } 
} 
8

は、なぜあなたはnavigationItem.rightbarButtonItemプロパティを変更してみませんか?

self.navigationItem.rightBarButtonItem=doneButton; 

editActionにできれようrightBarButtonItemを変更、2つのボタン、編集用と

UIBarButtonItem*editButton=[[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStylePlain target:self action:@selector(editAction)]; 

UIBarButtonItem*doneButton=[[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(doneAction)]; 

2.でもどこでも必要に行わための1つを設定し

1.editButtonバックが必要な場合

self.navigationItem.rightBarButtonItem=editButton; 
+0

を何らかの理由で、 'rightBarButtonItem'を変更すると、両方のボタンに添付アクションが機能していない。 –

5
if ([self.navigationItem.rightBarButtonItem.title isEqualToString:@"Edit"]) 
{ 
    self.navigationItem.rightBarButtonItem.title= @"Done"; 
} 

これが役に立ちます。幸せコーディング:)

+3

をあなたは文字列を比較するために==を使用することはできません。あなたはisEquを使用する必要がありますalToString:代わりに。 – rdelmar

+0

同じ問題を抱えている人を指導できるように、回答があればそれを受け入れてください。ありがとう。 –

1

(アシスタントエディターを使用して)ファイルにバーボタンからコントロールのドラッグ、その後、これを追加し、この場合には、その "barButton" と呼ばれる(アウトレットを作成します。

スウィフト3.0:

self.barButton.title = "New title" 
0

再以下のようなボタンを-new。。

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "title", style: UIBarButtonItemStyle.plain, target: self, action: #selector(actionMethod)) 
関連する問題