2016年03月11日

UITableViewのsetEditingが動作しない場合のチェックポイント

UITableViewのセルを削除するときにセル左側に"−"ボタンが表示されない場合のチェックポイント。

self.navigationItem.rightBarButtonItem = self.editButtonItem;
NavigationBarのボタンにself.editButtonItemを割り当てて、UITableViewのセル削除を実装した場合において、"EDIT"(編集)ボタンをタップしても無反応な場合、setEditingメソッドにおいて、UITableView自体にsetEditing:editingを割り当てているかを確認すること。
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];

[_tableView setEditing:editing animated:YES]; // <- このコードがあることを確認する

if (editing) {
self.editButtonItem.title = @"取消";
} else {
self.editButtonItem.title = @"編集";
}
}


クラスのコントローラがUITableViewControllerである場合は、[super setEditing:editing animated:animated];のみでsetEditing:editingがUITableViewに割り当てられていることになる。
@interface HogeViewController : UITableViewController


UIViewControllerがコントローラで、UITableViewDelegate, UITableViewDataSourceを定義している場合は、UITableView自体にsetEditing:editingを割り当てるコードを明示的に記述する必要がある。
@interface FugaViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>


ラベル:Mac apple iPAD IOS iPhone
posted by mobileDeveloper at 23:42 | Comment(0) | TrackBack(0) | UITableView | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック