2

我正在研究各种可能的方法来UITableViewCellUITableView.

我现在正在尝试的方法是基于以下方法的使用:

        [tableView setEditing:YES animated:YES];

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

我可以看到使用这种方法的一些优点,但是有一个问题:

当我尝试它时,我可以使红色的“删除”按钮出现并工作,但仅此而已。

有没有一种机制让我也可以拥有“编辑”和“复制”按钮?还是只是不可能?

感谢您提供任何有用的信息。

4

2 回答 2

3

编辑

我刚刚明白您指的是单元格,而不是 TableView。对于单元格,提供了以下样式:

  • UITableViewCellEditingStyleDelete:单元格有删除编辑控件;此控件是一个包含减号的红色圆圈。
  • UITableViewCellEditingStyleInsert:单元格有插入编辑控件;此控件是一个包含加号的绿色圆圈。您可以将其用于“复制”。
  • UITableViewCellEditingStyleNone:单元格没有编辑控件。

您必须自己实现其他样式。

原始答案

可以使用的editButtonItem方法UIViewController。它返回一个栏按钮项目,该项目在“编辑”和“完成”(但不是“复制”)之间切换其标题和关联状态。默认按钮操作已调用该setEditing:animated:方法。

如果你想要另一个状态,你必须创建你自己的 BarButtonItem。

于 2012-08-08T08:41:50.990 回答
1
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        [DummyData removeObjectAtIndex:indexPath.row];
        [_tableView reloadData];
    }       
}

使用此代码。希望它有所帮助,请对UITableViewCellEditingStyleInsert做同样的事情

于 2012-09-26T13:23:09.617 回答