不多说,直接上代码,这里使用长按手势调用方法来写的,语言为oc,添加了开关,控制collection view是否可移动
代码如下:
(效果不加了,类似网易的切换标签的移动效果)
//创建collection view过程省略
//开关按钮进行的操作
//手势执行方法
UIGestureRecognizerStateBegan为长按手势的开始状态,以此类推,self.indext为存储的需要移动的item的初始位置,self.end为移动结束的位置,移动结束后collection view结束移动,同时进行数据操作,
这两个方法是collection view的代理方法,必须写,不然collection view无法移动,返回bool值的方法不会随着collection view 刷新而重新走一遍,当你长按的时候,将要开始移动的时刻,走canMove的方法,在这里决定是否可移动,我这里返回的是开关的bool值