LoginSignup
17
16

More than 5 years have passed since last update.

UITableViewでeditButtonItemを使って、Editボタンを押した時に何かする

Last updated at Posted at 2013-08-08

まずeditButtonItemについて軽く説明
TableViewでよく見る、丸い赤い横棒の入ったボタンを押してセルを消したりするやつです。
editButtonItem_Qiita.png

↑こういうやつ。

editButtonItemはほんとに便利で、下記みたいな感じでviewDidLoadあたりでボタンを設置するだけで、セルを削除する機能が追加できてしまいます。

self.navigationItem.rightBarButtonItem = [self editButtonItem];

さて、ここから本題。
editButtonItemを押した時に、削除以外にも色々したいなーって時。
そういうときは以下のメソッドをオーバーライドします。(対象のUIViewControllerに丸ごとコピペする。)

// 編集モードになった時に呼ばれるメソッド
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
    NSLog(@"%s", __func__);
    [super setEditing:editing animated:animated];
    if (editing) {
        // 編集モードの処理
        NSLog(@"編集モードに入りました。");
    }else{
        // 編集モードから戻った時の処理
        NSLog(@"編集モードから出ました。");
    }
}

こうやって書くだけでオッケー。
これで、編集モードの時だけ何か表示したい!などという要求にも対応出来ますね。

17
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
16