通过点击iOS中的红色减号图标删除tableview单元格

时间:2016-01-25 09:18:21

标签: ios objective-c uitableview

当用户点击红色减号图标时,我想立即删除tableview单元格而不确认红色“删除”按钮。 步骤1.点击编辑按钮>出现红色减号图标>点击减号图标>>删除行而不显示红色的“删除”图标。

2 个答案:

答案 0 :(得分:1)

这可以完成你想要的工作。

- (nullable NSString *)tableView:(UITableView *)tableViews titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath 
{
[arrOutputRecords removeObjectAtIndex:indexPath.row];

[tableViews deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
                  withRowAnimation:YES];

[_tableView reloadData];

return @"";
}

答案 1 :(得分:0)

在您的课程中添加以下方法:

override func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
    if (self.tableView.editing) {
            return UITableViewCellEditingStyle.Delete;
    }

    return UITableViewCellEditingStyle.None;
}

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
    if (editingStyle == UITableViewCellEditingStyle.Delete) {

let alertController = UIAlertController(title: "Alert", message: "Are you sure?", preferredStyle:UIAlertControllerStyle.Alert)

 alertController.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default)
   { action -> Void in
     arr.removeAtIndex(indexPath.row)
     tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
   })
   self.presentViewController(alertController, animated: true, completion: nil)

        }
    }