前言:
之前写了两份相关的,
思路就是从 touch
相关手势,识别点,直接绘制
不方便,简单地添加动画
本文介绍另一思路,通过控件
有参考 rzmn/CropView
思路具体
1, 拿到点,还是同样的三个方法,
touchesBegan
, touchesMoved
, touchesEnded
2, 视图层级
- 功能视图
cropView
, 添加在 image view 上,
功能视图 cropView
中, 识别手势
- 画线,四条边,
var areaQuadrangle = SEAreaView()
添加在功能视图 cropView
上
2.1, 方便做动画,四个角都是控件, 添加在功能视图 cropView
上
class CornerView: UIView
拖动某个角,那个角落的圆圈变大;
放开那个角,那个角落的圆圈缩回
3,坐标的对应关系
imageView 设置为 sizeToFit,
默认,imageView 的 size > 上面看到的 image 的 size
( 当然,image.size 图片数据的 size 很大的 )
功能视图 cropView
的 frame = 上面看到的 image 的 frame
那么画线,四条边,var areaQ