UICollectionViewCell上的触动会延迟

时间:2014-07-25 18:36:08

标签: ios objective-c uicollectionview uicollectionviewcell

我有一个带UILabel的UICollectionViewCell。我在用户触摸时更改标签颜色。问题是,当您触摸单元格时,文本更改或触摸不会被识别,直到您松开手指。

我认为你可以设置一些延迟设置,以便用户可以在没有选择的情况下滚动UICollectionView,但我找不到该属性?

1 个答案:

答案 0 :(得分:0)

标准的UIKit行为是触发内部触摸活动(即触摸结束,手指必须仍在控件内)。

在诸如集合视图之类的滚动视图中,子视图将在手指向下时获得touchesBegan:,但如果手指移动到足以看起来像滚动而不是点击,则将获得后续取消。 UIControl和相关UIGestureRecognizer只是处理该信息。因此,他们遵循内部规则的修饰,如果动作最终看起来像滚动,则不要开火。

我怀疑有一种方法可以直接更改集合视图行为,但是您可以让单个单元格开始触摸触摸,或者在触摸时触发它们。鉴于UILabel不是UIControl的子类,您可能需要将其子类化并执行前者。