1

我正在尝试实现执行以下操作的矩形视图。当用户从左侧或右侧拖动矩形视图时,它会拉伸如下:

在此处输入图像描述

当用户在 UIView 上拉起或拉下时,它会旋转如下:

在此处输入图像描述

想知道是否有人可以给我一个关于如何实现这一点的线索。我不相信你可以用手势识别器来做到这一点。有人知道吗?

更新:假设没有轮换,这实际上还不错。您可以按用户向左或向右拖动的量拉伸它,或者按他们向上拉的量旋转它。但是,当视图旋转时,这种方法不再有效,因为点发生了变化。关于如何执行此操作的任何想法?

4

3 回答 3

0

我有一个 Github 项目,展示了如何轻松使用每种类型的 UIGesture,包括捏调整大小和旋转。

查看“捏合”、“旋转”和“同时”部分。我想你会找到你正在寻找的东西。

https://github.com/EmperiorEric/UIGestures

于 2013-03-06T18:57:11.870 回答
0

您可以使用手势识别器来做到这一点。但是,当这些手势发生时,您需要告诉 iOS 如何处理视图。

您将放入旋转手势识别器操作的代码如下所示:

self.myView.transform = CGAffineTransform(CGAffineTranformIdentity, self.rotationRecognizer.rotation);
// Where myView is an outlet to your UIView
// rotationRecognizer is an outlet to your rotation gesture recognizer
于 2013-03-04T18:20:37.237 回答
0

看看这些 UIView 方法。您的子类可以覆盖这些方法并执行您需要的操作。

touchesBegan:withEvent:, touchesMoved:withEvent:, touchesEnded:withEvent:, touchesCancelled:withEvent:

  • 如果您需要直接处理触摸事件,请实现这些方法。(对于基于手势的输入,请使用手势识别器。)
于 2013-03-04T17:55:41.713 回答