滑动以从tableView中删除记录

时间:2012-03-01 00:52:22

标签: iphone objective-c

我有一个可编辑的tableView。当我点击bar button时,表格变为可编辑状态(delete按钮将显示在每个cell前面。

当我同时在cell中滑动tableview时,会显示删除按钮。我需要知道当我滑动到cell的{​​{1}}到delete的记录时执行的方法。

我希望在用户滑动单元格时将cell Edit更改为barbutton。那我怎么能以编程方式做到这一点。

抱歉,我没有任何代码可以证明。

2 个答案:

答案 0 :(得分:2)

这是您在viewDidLoad添加修改按钮时需要添加的行,当您触摸该按钮时,该按钮会转换为完成

self.navigationItem.leftBarButtonItem = self.editButtonItem;

这是editButtonItem的说明: 返回一个条形按钮项,可在“编辑”和“完成”之间切换其标题和关联状态。

这是您单击Edit

时调用的DataSource方法
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

if (editingStyle == UITableViewCellEditingStyleDelete)
{

    // Delete code goes here. This is from Core data sample code to delete record. You can implement your own code here.

    NSManagedObjectContext *context = [fetchedResultsController managedObjectContext];
    [context deleteObject:[fetchedResultsController objectAtIndexPath:indexPath]];

    NSError *error;
    if (![context save:&error]) {
        // Update to handle the error appropriately.
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        exit(-1);  // Fail
    }

 }   

}

我希望这会有所帮助。

答案 1 :(得分:0)

您可以回复显示为UITableViewCell的删除按钮

  • (void)didTransitionToState:(UITableViewCellStateMask)状态{

    if(state == UITableViewCellStateShowingDeleteConfirmationMask){     NSLog(@“我们正在显示删除按钮”); } }

以下是类引用的链接:

https://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html

希望这有帮助。