https://github.com/zhengwenming/WMDragView
拖吗?拖!拖就用WMDragView吧。WMDragView致力于让任意View都可以自由拖动。可拖动的view网上代码很多,但是都没高度封装,基本上都是用touch事件写的,我刚开始也是用touch事件封装的,但是使用到实际项目中有bug,因为你的拖动view中的view可能也是有touch事件的,所以会有点bug。后来用pan手势从新封装了一下,并提供了丰富的API。请大家放心食用,纯手工打造,五毒无污染。
丰富的API如下:
- 把需要拖曳view的父类从原本继承UIView,改成继承WMDragView就OK了。
- dragEnable=YES,可拖曳
dragEnable=NO,不可拖曳 - freeRect可以任意设置活动范围,默认为活动范围为父视图大小frame,
- 回调block 点击的回调 ClickDragViewBlock 开始拖动的回调 BeginDragBlock 拖动中回调 DuringDragBlock 结束拖动的回调 EndDragBlock
- isKeepBounds是不是又自动黏贴边界效果
isKeepBounds = YES,自动黏贴边界,而且是最近的边界 isKeepBounds = NO, 不会黏贴在边界,它是free(自由)状态,跟随手指到任意位置,但是也不可以拖出规定的范围 - 可以设置网络图片
- 可以自定义view加到dragView中,比如一个视频,一个自定义按钮等等。