在我的uitableview中,当用户将模式设置为编辑并尝试删除行时,我会进行一些验证以检查该行是否可以删除。如果没有,我想将行重置为先前的状态,即没有右侧的删除按钮,只是左侧的负水平按钮。
我将使用哪种方法来执行上述操作?
答案 0 :(得分:2)
试试这段代码,
- (void)tableView:(UITableView *)tv commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if(fails)
{
[self.tableView reloadData];
[super setEditing:YES animated:YES];
[self.tableView setEditing:YES animated:YES];
}
答案 1 :(得分:-1)
KingofBliss的回答将完成工作,但这有点具体。此方法将动画重置删除确认,并基本上“点击”删除编辑控件(重置确认的操作)。
UITableViewCell *cell = [self.detailsTableView cellForRowAtIndexPath:indexPath];
[cell.subviews enumerateObjectsUsingBlock:^(UIView *subview, NSUInteger index, BOOL *stop){
if([subview isKindOfClass:NSClassFromString(@"UITableViewCellEditControl")])
{
UIControl *editControl = (UIControl *)subview;
[editControl sendActionsForControlEvents:UIControlEventTouchUpInside];
}
}];