OC杂类IOS动画程序员

iOS开发轮子系列之UIView-draggable

2016-07-22  本文已影响387人  MooneyWang

UIView-draggable是国外开发者造的轮子,本篇博客只为学习,记录,分享。

draggableView.gif
实现一个如上图一样可拖拽的view需要分几步?答案是两步:
第一步引入分类:
#import "UIView+draggable.h"

第二步添加一句代码:

[_blueView enableDragging];

如果我们想在拖拽之前以及拖拽之后做一些操作,只要添加如下代码:

// 设置开始拖拽操作
[_blueView setDraggingStartedBlock:^{
    NSLog(@"开始拖拽");
    // do something
}];

// 设置结束拖拽操作
 [_blueView setDraggingEndedBlock:^{
     NSLog(@"结束拖拽");
     // do something
}];

如果想让它只能水平移动?同样只要一句代码:

_blueView.shouldMoveAlongY = NO;
draggableViewAlongXOnly.gif

显然只能垂直拖拽就是这么写了:

_blueView.shouldMoveAlongX = NO;

接下来我们更进一步,如果只想拖拽view的某一部分,其余的地方无法拖拽,这里我们举个例子,如下图,假如有一个_blueView,宽高分别为100100,我们只想要左上角5050的部分允许被拖拽。

Paste_Image.png

那么添加下面这行代码:

_blueView.handle = CGRectMake(0, 0, 50, 50);

你就可以得到想要的结果:

draggableViewHandle.gif

最后一个需求,如果你想限制拖动区域,那么只需设置属性cagingArea:

_blueView.cagingArea = CGRectMake(20, 64, 300, 300);
cagingArea.gif

以上就是UIView-draggable这个分类的全部使用,感谢造轮子的人,让我们写代码变得如此便利。

上一篇 下一篇

猜你喜欢

热点阅读