2013-03-04 65 views
1

我试图实现一个矩形视图,它执行以下操作。当用户拖动从左边或右边的矩形视图,它延伸如下:实现一个UIView,可以通过触摸进行拉伸和旋转

enter image description here

当用户或拉起向下的UIView,它旋转如下:

enter image description here

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

更新:这实际上并不坏,假设没有旋转。您可以按照用户向左或向右拖动的量来拉伸它,或者按照拉动它的量旋转它。但是,当视图旋转时,由于点数改变,此方法不再有效。任何想法如何执行此?

回答

0

看看这些UIView方法。你的子类可以覆盖这些方法并做你需要的。

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

  • ,如果你需要直接处理触摸事件实现这些方法。 (对于基于手势的输入,请使用手势识别器。)
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 
0

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

签出捏,旋转和同时部分。我想你会找到你正在寻找的东西。

https://github.com/EmperiorEric/UIGestures