11

編集可能なアイテムのリストを作成しようとしています。このようなもの:

ここに画像の説明を入力してください

そのために、ビューの上部にNavigationBarを追加してから、XCodeデザイナーで2つのバーボタンアイテムを追加しました。左側のボタンの識別子を[​​追加]に設定し、右側のボタンの識別子を[​​編集]に設定しました。

[編集]をクリックすると、テキストが[完了]に変更されます。私はさまざまな方法を試しましたが、たとえばbtnEdit.Title = "Done"、それは単純にかかりません。

.SetTitleを推奨するブログ投稿をいくつか見ましたが、UIButtonBarItemにはそのメソッドがありません(少なくともMonoTouchでは)。

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

4

6 に答える 6

15

私はそれを解決しました。重要なのは、[編集]ボタンの識別子をシステム値(UIBarButtonSystemItemEditなど)に設定していて、それらのテキストを変更できないことでした(今は意味があります)。識別子をカスタムに戻し、設定しました。タイトルは正常に機能しました。

于 2012-09-16T22:32:06.697 に答える
10

navigationItem.rightbarButtonItemプロパティを変更してみませんか?

1. 2つのボタンを設定します。1つは編集用、もう1つは完了用です。

 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.必要に応じて、できれば次のようにeditAction変更します。rightBarButtonItem

self.navigationItem.rightBarButtonItem=doneButton;

editButtonそして、あなたが背中が必要な場合

 self.navigationItem.rightBarButtonItem=editButton;
于 2012-09-04T06:03:18.727 に答える
5
if ([self.navigationItem.rightBarButtonItem.title isEqualToString:@"Edit"]) 
{
    self.navigationItem.rightBarButtonItem.title= @"Done";
}

お役に立てれば。ハッピーコーディング:)

于 2012-09-04T06:04:01.763 に答える
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"];
  }
}
于 2012-09-04T06:02:47.770 に答える
1

バーボタンからファイルへのドラッグを制御し(アシスタントエディターを使用)、アウトレット(この場合は「barButton」と呼ばれます)を作成します。次に、これを追加します。

Swift 3.0:

self.barButton.title = "New title"
于 2017-01-22T06:41:52.027 に答える
0

以下のようにボタンを更新します。。

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "title", style: UIBarButtonItemStyle.plain, target: self, action: #selector(actionMethod))
于 2017-07-16T10:56:14.360 に答える