前言:
之前写了两份相关的,
思路就是从 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 areaQuadrangle = SEAreaView() 的 frame = 功能视图 cropView

这篇博客介绍了另一种在iOS中实现照片选择区域功能的方法,通过控件和动画效果来增强用户体验。作者提到了rzmn/CropView的参考,并详细阐述了获取点的方法、视图层级设置、坐标对应关系以及手势移动识别。动画部分包括拖动角部时圆圈的放大和缩小,以及手势更新位置时的平滑动画。当出现交叉重联时,会自动调整四边形的连接。完整的实现代码可以在github repo中找到。
最低0.47元/天 解锁文章
685

被折叠的 条评论
为什么被折叠?



