如何在iOS中仅拖动图像视图的一个角

时间:2018-06-23 19:02:01

标签: ios objective-c swift uigesturerecognizer

我尝试实现照片编辑应用程序的一项功能。我没有任何实现的线索,这就是为什么我分享一些照片来解释我的问题。正常图片如下所示。

enter image description here 当我单击图像的右下角并将其向下拖动时,只会扩展该部分,新图像将如下所示。

enter image description here

如果我相反,图片看起来像这样。

enter image description here

所以问题是哪种手势实际上支持这种拖动以及如何实现呢?为了进一步了解情况,您可以在manly应用中通过abs部分实现该功能。

1 个答案:

答案 0 :(得分:2)

因此,请仔细考虑。如果抓住右下角并开始拖动,则不仅需要更改该角的位置,还需要更改右上角的X位置和左下角的Y位置,因此生成的形状始终是矩形。

或者,您可以使用CGRect代替随机的四边形,然后只需弄清楚每个角需要更改的矩形属性(对于右下角,您只需编辑高度和宽度即可。)右边,您必须更改高度,宽度和origin.y;对于左上角,您需要更改高度,宽度,origin.xorigin.y。对于左下角,需要更改高度,宽度和origin.x

您还需要考虑如果用户将矩形拖动到零大小或超过零,以使角交叉并且左下角现在是右上角,该怎么办。您允许这样做,还是仅限制拖动,以使它不能小于某个最小大小?每种方法都是有效的,但是您需要仔细考虑,编码和测试。

这并不难,它是固定的图形编程。您会自己做而不是使用第三方框架来学到很多东西。