UIView-draggable是国外开发者造的轮子,本篇博客只为学习,记录,分享。
实现一个如上图一样可拖拽的view需要分几步?答案是两步:
第一步引入分类:
#import "UIView+draggable.h"
第二步添加一句代码:
[_blueView enableDragging];
如果我们想在拖拽之前以及拖拽之后做一些操作,只要添加如下代码:
// 设置开始拖拽操作
[_blueView setDraggingStartedBlock:^{
NSLog(@"开始拖拽");
// do something
}];
// 设置结束拖拽操作
[_blueView setDraggingEndedBlock:^{
NSLog(@"结束拖拽");
// do something
}];
如果想让它只能水平移动?同样只要一句代码:
_blueView.shouldMoveAlongY = NO;
显然只能垂直拖拽就是这么写了:
_blueView.shouldMoveAlongX = NO;
接下来我们更进一步,如果只想拖拽view的某一部分,其余的地方无法拖拽,这里我们举个例子,如下图,假如有一个_blueView,宽高分别为100100,我们只想要左上角5050的部分允许被拖拽。
那么添加下面这行代码:
_blueView.handle = CGRectMake(0, 0, 50, 50);
你就可以得到想要的结果:
最后一个需求,如果你想限制拖动区域,那么只需设置属性cagingArea:
_blueView.cagingArea = CGRectMake(20, 64, 300, 300);
以上就是UIView-draggable这个分类的全部使用,感谢造轮子的人,让我们写代码变得如此便利。