从UIImageView的角落控制UIGestureRecognizers

时间:2013-07-20 06:09:40

标签: ios uigesturerecognizer uipinchgesturerecognizer

在我的应用程序中,我允许用户选择图像,然后选择其他图像以覆盖主图像的顶部。然后我实现手势识别器来捏合,平移和旋转顶部图像。

例如,用户可以选择一个人的图像,然后选择一副太阳镜覆盖在图像的顶部并捏合,平移或旋转到位。

这很有效但随着叠加的图像变小,用户变得更难以调整大小,平移或旋转。

我正在寻求实现我在类似应用程序上看到的一些功能,它们允许通过顶部UIImageView角落的夹点/旋转处理程序来控制它。我似乎无法弄清楚这一点。我附上了一个应用程序的截图,目前我正在尝试实现这个。任何建议都会有帮助。谢谢。

enter image description here

3 个答案:

答案 0 :(得分:0)

最简单的方法是将角落图像的帧大小设置为比图像大小更大,并将内容设置为中心。

例如:

图像大小为30x30表示将帧大小设置为40x40并将图像设置为视图的中心,如,

iconImgView.contentMode = UIViewContentModeCenter;

希望它会对你有所帮助。

答案 1 :(得分:0)

最简单的方法是将手势识别器添加到小的“旋转”图像中。然后它只会接受其界限。

另一种选择是使用委托方法并允许手动接收所需帧中的触摸,但这在你的情况下并不好,因为:

  • 正常旋转手势(UIRotationGestureRecognizer)与此“拖动角落到旋转”手势不同,这很简单UIPanGestureRecognizer
  • 您的“旋转”图片部分位于“sunglases”图片的框架之外,因此您可能需要将该手势添加到父级,这可能会更复杂

答案 2 :(得分:0)

我终于可以通过使用此控件来完成此操作。 https://www.cocoacontrols.com/controls/tdresizerview