その中にUITableView
カスタムセルがいくつかあります。これらのカスタム セルUILongPressGestureRecognizer
で、このテーブルの編集モードをトリガーする を定義しました。したがって、誰かがセルを 1.5 秒ほど押し続けると、テーブルは編集モードになります。
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(startEditMode:)];
どのトリガー:
- (void)startEditMode:(UISwipeGestureRecognizer *)recognizer {
if (self.allowEdit) {
UITableView *table = (UITableView *)self.superview;
[table setEditing:YES animated:YES];
}
}
しかし、私がやりたいのは、この場合、いくつかの追加ボタンを表示/非表示にする必要があるため、テーブルが編集モードになったことを検出することです。しかし、私のviewcontrollerでは何らかの理由でこれは決して実行されません:
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
NSLog(@"SET EDITING");
[super setEditing:editing animated:animated];
}
なぜ何か提案はありますか?これは、UINavigationController でデフォルトで提供されている適切な編集ボタンを使用するときに呼び出されるだけですか?
または、UITableView が編集モードになったことをどのように検出できますか?