我有一个带UILabel的UICollectionViewCell。我在用户触摸时更改标签颜色。问题是,当您触摸单元格时,文本更改或触摸不会被识别,直到您松开手指。
我认为你可以设置一些延迟设置,以便用户可以在没有选择的情况下滚动UICollectionView,但我找不到该属性?
答案 0 :(得分:0)
标准的UIKit行为是触发内部触摸活动(即触摸结束,手指必须仍在控件内)。
在诸如集合视图之类的滚动视图中,子视图将在手指向下时获得touchesBegan:
,但如果手指移动到足以看起来像滚动而不是点击,则将获得后续取消。 UIControl
和相关UIGestureRecognizer
只是处理该信息。因此,他们遵循内部规则的修饰,如果动作最终看起来像滚动,则不要开火。
我怀疑有一种方法可以直接更改集合视图行为,但是您可以让单个单元格开始触摸触摸,或者在触摸时触发它们。鉴于UILabel
不是UIControl
的子类,您可能需要将其子类化并执行前者。