アプリのナビゲーション バーに [編集] ボタンを追加しました。
UITableViewDataSource と UITableViewDelegate を実装する UIViewController があります。
ストーリーボードを使用して UITableView を追加し、データ ソースとデリゲートに接続しました。
ビューコントローラーの実装ファイルでこれを気に入りました:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
[self.editButtonItem setAction:@selector(setEditing:animated:)];
と
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
DLog(@"Editing = %d", editing)
NSLog(editing ? @"Yes" : @"No");
[self.recentSearchList setEditing:editing animated:YES];
}
問題は、[編集] ボタンをタップするたびに、BOOL 変数の "編集中" が常に "YES" になることです。最初に UITableView を編集モードに設定しますが、編集ボタンには「完了」ではなく「編集」ラベルが表示されます。また、パラメータは常に YES であるため、テーブル ビューが通常モードに設定されることはありません。
私はここで回答から読みました:編集モードの UITableView - '編集' ボタンはステータスを変更しません
編集ボタンは、タップするとその状態自体が変わるはずだと思います。また、オーバーライドされたメソッドのパラメーターもトグルする必要があります。
UIViewController にフラグを設定してモードをチェックし、それに応じて tableView を切り替える独自のコードを書くことができますが、他の方法が必要であると想定しています。