iOS:在图像视图上绘制矩形并调整边框[英] iOS: Drawing a Rectangle on an ImageView and Adjusting Borders

本文是小编为大家收集整理的关于iOS:在图像视图上绘制矩形并调整边框的处理方法,想解了iOS:在图像视图上绘制矩形并调整边框的问题怎么解决?iOS:在图像视图上绘制矩形并调整边框问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

附件 1 是一个名为Geniusscan的应用程序的屏幕截图文档和可调节的矩形网格显示在图像视图上.您可以轻松地用手指调整网格的边界,以选择要扫描的图像的部分.然后将其转换为正确的前瞻性.

1-如何绘制图像视图上的网格并进行交互?

2-如何将网格的角点返回到视图控制器.

在此处输入图像说明

更新:我找到了一个名为bjimagecropper的精彩课程,它允许手指伸向边界,但仅适用于像矩形这样的盒子.谁能建议如何将其更新以支持Geniusscan应用中的形状?

推荐答案

花花公子:

我创建了一个解决这两个问题的演示:

1-如何绘制图像视图上的网格并进行交互?

通过添加4个视图,这些视图将通过添加UipangeStureregognizer,然后在视图顶部使用CashApelayer绘制网格.

.

2-如何将网格的角点返回到视图控制器.

您必须对网格的四个控制点进行参考.

这是我的代码.

其他推荐答案

这实际上并不是在UIImageView的顶部绘制.它实际上是UIImageView顶部的叠加层(视图).您需要跟踪4分(具有4个视图作为图层的子视图),跟踪其位置,一旦移动,使用drawRect:根据4分绘制线路.

我在应用程序中实现它的方式是,我用透明的" selectionView"覆盖了UIImageView(我编写的自定义视图). SelectionView包含4个"顶点"类的自定义子视图.每次用户触摸/移动它时,VERTEX通过协议方法回到SelectionView(实际上并不重要的是哪个顶点移动,只是它移动了):

- (void)vertexMoved:(Vertex *)vertex;

然后,selectionView知道它需要重新绘制,因此它调用setNeedsDisplay setNeedsDisplay在内部调用drawRect(您绝不应该调用drawRect),我在其中进行界限rect的实际绘制.基本上,通过每个顶点迭代并使用石英API绘制一条线,并用半透明/空心颜色填充.

这就是我至少这样做的方式,我相信还有其他方法.

本文地址:https://www.itbaoku.cn/post/924457.html