每次加载 table 时,双击功能正在累积
Double tap function is accumulating each time table is loaded
我有一个双击识别器,可以在双击 table 行时加载一个函数。
table 是根据另一个 table 的数据加载的。重新加载数据时,或从之前的 table 中选择另一行(并加载不同的数据)时,每次加载新数据时双击都会再次调用该操作。
所以第一次,我得到了一次值1。然后我重新加载数据,我得到了两次,等等。
当通过单击(在 didSelectRowAtIndex 中)加载此函数时,它表现正常。
似乎每次 table 重新加载时双击功能都会累积。
func doubleTap(recognizer: UITapGestureRecognizer) {
cDLargeContent.tableSwitchMethod()
print(cDLargeContent.showQTable)
}
以下是答案,以防有人在看:
起初我尝试将 "addGestureRecognizer" 放在 ViewDidLoad 中,但后来发现我实际上需要将手势识别器保留在 cellForRowAtIndexPath 区域中 - 如果我不这样做,那么它会使整个 table 可点击,不仅仅是行。每次 table 加载时,在 cellForRowAtIndexPath 中使用手势识别器都会导致其累积。
因此,我加载了 didEndDisplayingCell 并将 cell.removeGestureRecognizer(doubleTap) 放入其中。这样,当 table 重新加载时,现有单元格会在再次将其添加到新单元格之前移除双击。
我有一个双击识别器,可以在双击 table 行时加载一个函数。
table 是根据另一个 table 的数据加载的。重新加载数据时,或从之前的 table 中选择另一行(并加载不同的数据)时,每次加载新数据时双击都会再次调用该操作。
所以第一次,我得到了一次值1。然后我重新加载数据,我得到了两次,等等。
当通过单击(在 didSelectRowAtIndex 中)加载此函数时,它表现正常。
似乎每次 table 重新加载时双击功能都会累积。
func doubleTap(recognizer: UITapGestureRecognizer) {
cDLargeContent.tableSwitchMethod()
print(cDLargeContent.showQTable)
}
以下是答案,以防有人在看:
起初我尝试将 "addGestureRecognizer" 放在 ViewDidLoad 中,但后来发现我实际上需要将手势识别器保留在 cellForRowAtIndexPath 区域中 - 如果我不这样做,那么它会使整个 table 可点击,不仅仅是行。每次 table 加载时,在 cellForRowAtIndexPath 中使用手势识别器都会导致其累积。
因此,我加载了 didEndDisplayingCell 并将 cell.removeGestureRecognizer(doubleTap) 放入其中。这样,当 table 重新加载时,现有单元格会在再次将其添加到新单元格之前移除双击。