美文网首页OC杂类IOS动画程序员
iOS开发轮子系列之UIView-draggable

iOS开发轮子系列之UIView-draggable

作者: MooneyWang | 来源:发表于2016-07-22 15:42 被阅读387次

    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这个分类的全部使用,感谢造轮子的人,让我们写代码变得如此便利。

    相关文章

      网友评论

      • 缺舟:感觉很6 同时使用方便
        MooneyWang:@缺舟 主要是使用方便,以后遇到这种需求就不要多想了。

      本文标题:iOS开发轮子系列之UIView-draggable

      本文链接:https://www.haomeiwen.com/subject/nrehjttx.html