12

テーブルビューで編集モードが有効になっている場合は、[編集]というタイトルのボタンが表示され、それを押すとタイトルが[完了]に変更されます。

[完了]ボタンのタイトルを別のタイトルに変更する方法があるかどうか疑問に思っていましたか?

完了ボタンのタイトルはすでに変更しています。

私が使用したコードは

self.navigationItem.rightBarButtonItem = self.editButtonItem;
self.editButtonItem.title = @"Change";

今、編集は変更です

他の何かに完了させる方法は?

4

3 に答える 3

10

編集ボタンのタイトルは次のように変更できます:-

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    // Make sure you call super first
    [super setEditing:editing animated:animated];

    if (editing)
    {
        self.editButtonItem.title = NSLocalizedString(@"Cancel", @"Cancel");
    }
    else
    {
        self.editButtonItem.title = NSLocalizedString(@"Edit", @"Edit");
    }
}

編集のように機能します:-

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

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

于 2012-11-17T10:47:02.847 に答える
8

Swift用に変更する方法は次のとおりです

override func setEditing (editing:Bool, animated:Bool)
{
    super.setEditing(editing,animated:animated)
    if (self.editing) {
        self.editButtonItem().title = "Editing"
    }
    else {
        self.editButtonItem().title = "Not Editing"
    }
}
于 2014-06-16T23:19:58.727 に答える
4

Nitinの答えに基づいて、組み込みのUIButtonBarシステムアイテムを使用する少し異なるアプローチを提案します。

これにより、UIにシステムのルックアンドフィールが与えられます。たとえば、編集を停止するための標準の[完了]ボタンは、iOS8で特定の大胆な外観にする必要があります。Appleは将来これらのスタイルを変更する可能性があります。システム定義のボタンを使用することにより、アプリは現在の美的感覚を自動的に取得します。

このアプローチは、無料の文字列ローカリゼーションも提供します。Appleはすでに、システムボタンのタイトルをiOSがサポートする数十の言語に翻訳しています。

これが私が持っているコードです:

-(IBAction) toggleEditing:(id)sender
{
  [self setEditing: !self.editing animated: YES];
}

-(void) setEditing:(BOOL)editing animated:(BOOL)animated
{
  [super setEditing: editing animated: animated];

  const UIBarButtonSystemItem systemItem = 
    editing ? 
    UIBarButtonSystemItemDone : 
    UIBarButtonSystemItemEdit;

  UIBarButtonItem *const newButton = 
    [[UIBarButtonItem alloc] 
      initWithBarButtonSystemItem: systemItem 
                           target: self 
                           action: @selector(toggleEditing:)];

  [self.navigationItem setRightBarButtonItems: @[newButton] animated: YES];
}

ここでの例は、UIViewControllerがでホストされてUINavigationControllerおり、UINavigationItemインスタンスがある場合です。これを行わない場合は、適切な方法でバーアイテムを更新する必要があります。

次の呼び出しをviewDidLoad使用して、編集ボタンを使用できるように構成します。

[self setEditing: NO animated: NO];
于 2014-12-29T01:22:23.117 に答える