美文网首页
可以移动缩放的自定义view

可以移动缩放的自定义view

作者: lixiaoshuai | 来源:发表于2016-08-18 18:07 被阅读197次

    可移动改变的大小的View - 代码库 - CocoaChina_让移动开发更简单

    以上是一位开发者上传到网络上的源码,效果图如下:

    效果:中心的视图可以拖动。四角的小视图分别可以按照图示方向对主视图的大小进行修改

    设计层次:用了两层视图的设计关系。LBorderView(父类视图) 和 BaseMoveView (子类视图)(还有一个子类视图没有多做解释)

    LBorderView:主要作用负责绘制视图的外观(带有一个CAShapeLayer的属性,在视图上画出了圆角的样式)(重写了多个属性的set方法,在其中加入了重新配置layer的代码,使得layer可以被方便的重绘)(可以自定义暴露出的接口做更多的自定义的设置)

    BaseMoveView:主要实现了四个小view的各个功能。(通过手势)

    设计的核心在于四个小view的拖动手势的实现。当拖动一个小view时,更新这个小view的位置并根据和它的对角线上的view确定主视图的位置大小。重新设置该属性。重绘了主视图。完成了更新。

    先理清主要的框架,剩下的小的属性设置可以由最后在加上去。

    值得学习借鉴的点:

    1:手势的回调规范写法:根据手势的state状态值对回调进行处理。

    2: 设计组件时的分割功能的思想。(将主视图的展示与小视图的功能分割)

    3:在限制主视图的活动范围时使用了MIN MAX的两个宏。(简介代码)

    4:一些小的很方便的封装 例如:

    + (UIImageView*)createImageViewWithBackgruandColor:(UIColor *)color imageName:(NSString *)imageName{

    UIImageView *imageView = [UIImageView new];

    if(imageName != nil){

    imageView.image = [UIImage imageNamed:imageName];

    }

    imageView.backgroundColor = color;

    return imageView;

    }

    相关文章

      网友评论

          本文标题:可以移动缩放的自定义view

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