覆盖单元格中的触摸后,Swift CollectionView didSelectItemAt 不再工作
Posted
技术标签:
【中文标题】覆盖单元格中的触摸后,Swift CollectionView didSelectItemAt 不再工作【英文标题】:Swift CollectionView didSelectItemAt no longer working after overriding touch in cell 【发布时间】:2020-10-11 20:38:12 【问题描述】:我想在我的CustomCollectionViewCell
上添加一个tapAnimation
,所以我在class
中添加了这些行:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
UIView.animate(withDuration: 0.05, delay: 0, options: .curveEaseInOut)
self.theView.transform = CGAffineTransform(scaleX: 0.9, y: 0.9)
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?)
UIView.animate(withDuration: 0.1, delay: 0, options: .curveEaseInOut)
self.theView.transform = CGAffineTransform(scaleX: 1, y: 1)
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?)
UIView.animate(withDuration: 0.1)
self.theView.transform = CGAffineTransform(scaleX: 1, y: 1)
theView
几乎就是这里的整个cell
。但是,添加此内容后,我的collectionView
中的didSelectItemAt
不再触发。知道我在这里做错了什么吗?它可以在没有override
-sn-ps 的情况下工作。
补充:我实际上希望有一个像 App-Store 一样的动画(只有点击动画,没有过渡!)
如果您需要更多信息,请告诉我!
【问题讨论】:
【参考方案1】: 覆盖时忘记调用super
。
例如:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
super.touchesBegan(touches, with: event)
....
【讨论】:
以上是关于覆盖单元格中的触摸后,Swift CollectionView didSelectItemAt 不再工作的主要内容,如果未能解决你的问题,请参考以下文章
当触摸单元格中的自定义按钮时,我们如何知道表格中触摸了哪个单元格?
UITableView 自定义单元格中的 UIButton 触摸无法正常工作
如何在 Tableview 单元格中获取 UIButton 的位置,并在 Swift 中添加目标?