我尝试实现照片编辑应用程序的一项功能。我没有任何实现的线索,这就是为什么我分享一些照片来解释我的问题。正常图片如下所示。
当我单击图像的右下角并将其向下拖动时,只会扩展该部分,新图像将如下所示。
如果我相反,图片看起来像这样。
所以问题是哪种手势实际上支持这种拖动以及如何实现呢?为了进一步了解情况,您可以在manly应用中通过abs部分实现该功能。
答案 0 :(得分:2)
因此,请仔细考虑。如果抓住右下角并开始拖动,则不仅需要更改该角的位置,还需要更改右上角的X位置和左下角的Y位置,因此生成的形状始终是矩形。
或者,您可以使用CGRect代替随机的四边形,然后只需弄清楚每个角需要更改的矩形属性(对于右下角,您只需编辑高度和宽度即可。)右边,您必须更改高度,宽度和origin.y
;对于左上角,您需要更改高度,宽度,origin.x
和origin.y
。对于左下角,需要更改高度,宽度和origin.x
。
您还需要考虑如果用户将矩形拖动到零大小或超过零,以使角交叉并且左下角现在是右上角,该怎么办。您允许这样做,还是仅限制拖动,以使它不能小于某个最小大小?每种方法都是有效的,但是您需要仔细考虑,编码和测试。
这并不难,它是固定的图形编程。您会自己做而不是使用第三方框架来学到很多东西。