编辑UITableView单元格时出现问题(快速)

时间:2019-01-10 23:55:25

标签: ios uitableview

我以为我知道如何从表视图中删除一个单元格,我之前已经做过,但是最近情况不太好。

在我之前构建的iOS应用中,我使用UITableView来显示项目。结果看起来像这样:

Image #1

到目前为止,一切都很好。要从表格视图中删除单元格,我使用了commit editingStyle函数,该函数使我可以在单元格上滑动,然后会出现一个红色的“删除”按钮:

Image #2

这就是我想要的。现在,我正在制作一个新应用程序,该应用程序也将使用tableview,并且我想实现此滑动以删除功能,并使其工作方式与以前相同。因此,我添加了commit editingStyle函数,并编写了一些代码来删除保存单元格数据的数组中的项,然后编写了一些代码来删除单元格本身。但是当我运行该应用程序时,我得到了:

Image #3

我的手机上有一个红色的圆圈,上面有一条线。轻按圆圈显示所需的删除按钮,但这不是我想要应用程序运行的方式。我想像以前一样滑动以删除。好吧,我以为这次我一定做得有些不同,所以我开始在线研究以找到正确的方法。但是我发现的每个解决方案都会产生相同的结果。在最终放弃之前,我浏览了大约两打网页。我决定打开我的另一个项目,然后从那里拉出代码,因为我知道代码已经过尝试并且是真的。所以我做到了,并且得到了相同的结果!这是我的代码:

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
    if editingStyle == UITableViewCell.EditingStyle.delete {
        Variables.numbers.remove(at: indexPath.row)
        self.tableView.deleteRows(at: [indexPath], with: .automatic)
    }
}

所以我有两个运行基本相同代码的不同应用程序,但是它们都产生两个完全不同的结果。怎么了我忘了什么吗?

好的,所以我受够了。我决定完全放弃删除想法,我的所有工作和研究仍未产生我想要的结果。这个圈子很烦人,顺便说一句,我不想​​在那儿。我将不得不做一些不同的事情。因此,我完全删除了commit editingStyle函数以及与此函数有关的所有代码,并运行了我的应用程序。令我恐惧的是,那个小红色圆圈还在那儿!!!我尽我所能消除了这个红色小圆圈,但它仍然在那里!!!因此,我将项目搁置了大约一两个星期,有些心烦意乱,完全不确定该怎么做。当我回来时,那个小红色圆圈还在那儿(毫无惊奇)。我想完成这个项目,但我完全不确定该怎么办。

有人对我可以删除那个红色小圆圈并执行按原计划删除的滑动操作有任何想法吗?

1 个答案:

答案 0 :(得分:0)

在IB或您的代码中

     tableView.isEditing = true

取消选中或删除它。

    tableView.isEditing = false