每次加载表时都会累加双击功能

时间:2015-11-14 16:29:20

标签: ios swift tap

我有一个双击识别器,可以在双击表格行时加载一个功能。

根据另一个表中的数据加载表。当重新加载数据,或从前一个表中选择另一行(并加载不同的数据)时,双击并在每次加载新数据时再次调用该操作。

所以第一次,我得到一次值1。然后我重新加载数据,我得到它两次,等等。

当单次点击加载此函数时(在didSelectRowAtIndex中),它表现正常。

似乎每次重新加载表时都会累积双击功能。

func doubleTap(recognizer: UITapGestureRecognizer) {

    cDLargeContent.tableSwitchMethod()
    print(cDLargeContent.showQTable)

}

sample code 1

sample code 2

1 个答案:

答案 0 :(得分:0)

以下是有人看的答案:

起初我尝试在ViewDidLoad中添加“addGestureRecognizer”,但事实证明我实际上需要将手势识别器保留在cellForRowAtIndexPath区域 - 如果我不这样做那么它会使整个表都可以进行,而不仅仅是行。每次加载表时,在cellForRowAtIndexPath中使用手势识别器都会导致其累积。

因此,我加载了didEndDisplayingCell,并将cell.removeGestureRecognizer(doubleTap)放在那里。这样,当重新加载表时,现有单元格会删除双击,然后再将其添加到新单元格中。