7

我想实现一个UITableView,当我按下我的按钮时ViewController,我可以看到单元格右侧的删除按钮,但看不到单元格左侧的红色减号圆圈。

对此有什么想法吗?

4

5 回答 5

4

只是一种方法:

  1. 在视图上有一个删除按钮并为其分配一个方法
  2. 在此方法中,将 BOOL isDeleteEnabled(或您命名的任何名称)切换为TRUE
  3. 重新加载UITableViewcellForRowAtIndexPath检查该 BOOL 值
  4. 如果TRUE然后加载所有UITableViewCell带有删除按钮的自定义单元格(您需要设置选择器方法以删除一行)
  5. 通过点击单元格上的按钮删除任意数量的单元格
  6. 删除您的选择后,您可以再次按下主按钮并切换值isDeleteEnabled
  7. 再次重新加载UITableView,这次cellForRowAtIndexPath 检查 - 的值,isDeleteEnabled这将是FALSE. 所以,你需要加载正常的(或你原来的)UITableViewCells。

我按照这种方法做了非常相似的事情。

另外,我没有发布代码有以下三个原因:

  • 它的大小会太长
  • 他在我的工作机器上可用的代码(我现在无法访问)
  • 它会破坏编写这样一个任务的乐趣。自己做。你会使用它。
于 2013-04-24T09:54:47.890 回答
1

很简单,如果您不希望出现减号,请考虑实施您自己的解决方案而不是默认解决方案,插入一个删除按钮并为其提供动画,按照您的需要执行

于 2013-04-24T09:23:31.210 回答
-2

您不需要按钮操作来触发此操作。如果您实现以下委托,您可以直接滑动和删除单元格。

  - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
    {
   //Delete the row
    [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }
于 2013-04-24T09:07:49.797 回答
-2

我的想法,不要使用按钮,但您可以使用以下方法滑动单元格以删除:

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

    if (editingStyle == UITableViewCellEditingStyleDelete)
    {
         //Use actionsheet or deleteRowsAtIndexPaths
    }

 }
于 2013-04-24T09:16:00.877 回答
-3

覆盖以支持编辑表格视图。

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        //add code here for when you hit delete
    }    
}
于 2013-04-24T09:25:25.760 回答