0

我已经尝试过以下代码。它工作正常。但我想不出如何实现几件事。

截屏

  1. 当我单击“删除”按钮而不是同一行上的删除控件时,如何添加插入控件?

  2. 如果我将“第 3 节”移动到“第 1 节”和“第 2 节”之间,如何更新所有三个包含删除控制的节?

到目前为止,我已经使用下面的代码得到了以下输出。

    -(void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

    if (editingStyle == UITableViewCellEditingStyleDelete) {
        //Handle things when deletion control clicked!

        //[sectionArray removeObjectAtIndex:indexPath.row];
        //[self.tableView reloadData];
    } else if (editingStyle == UITableViewCellEditingStyleInsert) {
        //Handle things when insertion control clicked!
    }
}


    - (UITableViewCellEditingStyle)tableView:(UITableView *)aTableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    // No editing style if not editing or the index path is nil.
    if (isEditMode == NO || !indexPath) return UITableViewCellEditingStyleNone;
    if (indexPath.row == 1){
        return UITableViewCellEditingStyleDelete;
    }else if (indexPath.row == 2){
        return UITableViewCellEditingStyleInsert;
    }else if (indexPath.row == 3){
        return UITableViewCellEditingStyleInsert;
    }else {
        return UITableViewCellEditingStyleDelete;
    }
    return UITableViewCellEditingStyleNone;
}

    - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath
      toIndexPath:(NSIndexPath *)toIndexPath {
    NSString *item = [sectionArray objectAtIndex:fromIndexPath.row];
    [sectionArray removeObject:item];
    [sectionArray insertObject:item atIndex:toIndexPath.row];

    NSLog(@"%@", sectionArray);
}
4

2 回答 2

0

第二个问题的解决方案是,在执行删除和插入等操作后,您需要刷新表格视图

于 2013-09-20T09:17:54.113 回答
0

我希望这个链接对你也有帮助。

http://code4app.net/ios/UITableView-actions/50bf05986803fa8e5c000001

http://www.appcoda.com/model-view-controller-delete-table-row-from-uitableview/

对于任何时候的 UI 问题,您还可以从这方面获得演示应用程序。

http://code4app.net

于 2013-09-20T09:19:41.837 回答