手势绑定功能是最常用的,但是没有经验的朋友,第一次用swift实现对UICollectionView集合中每个cell进行手势绑定,就有些茫然了。如果对swift手势和collectionview的实现还不是很清晰的话,请查看我这两篇swift版本手势功能简单讲以及教程:swift下使用collectionView+coreData原理+代码注释,剩下的就是我遇到的较痛苦的问题:如何给UICollectionViewCell绑定手势,就是给每个cell绑定手势!!
首先得实现代理
| 代码如下 | 复制代码 |
| class ViewController: UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UIGestureRecognizerDelegate //手势的代理 { ...... } | |
给每个cell实现代码绑定手势
| 代码如下 | 复制代码 |
|
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { | |
实现long press的callback函数
| 代码如下 | 复制代码 |
|
func longPress(recognizer: UILongPressGestureRecognizer){ | |
每个事件都是有状态的,状态也是一种过程:开始-》改变-》结束 ,如果上面的代码不进行开始判断,则长按0.5秒后你的实际代码会执行好几次!!!
Began
Changed
Ended
Cancelled
Failed
virtualbox打不开虚拟机怎么办? linux无法访问virtualbox的解决办法
deepin怎么注销系统? deepin系统注销与切换用户的方法
Manjaro linux怎么调鼠标速度? Manjaro鼠标设置光标速度的技巧
Kali Linux鼠标光主题怎么修改? 修改鼠标光标主题的技巧
deepin系统版本号怎么看? deepin系统查看系统版本信息的技巧
Linux网卡无法启动报错RTNETLINK answers File exists怎么办?