我正在尝试实现执行以下操作的矩形视图。当用户从左侧或右侧拖动矩形视图时,它会拉伸如下:
当用户在 UIView 上拉起或拉下时,它会旋转如下:
想知道是否有人可以给我一个关于如何实现这一点的线索。我不相信你可以用手势识别器来做到这一点。有人知道吗?
更新:假设没有轮换,这实际上还不错。您可以按用户向左或向右拖动的量拉伸它,或者按他们向上拉的量旋转它。但是,当视图旋转时,这种方法不再有效,因为点发生了变化。关于如何执行此操作的任何想法?
我正在尝试实现执行以下操作的矩形视图。当用户从左侧或右侧拖动矩形视图时,它会拉伸如下:
当用户在 UIView 上拉起或拉下时,它会旋转如下:
想知道是否有人可以给我一个关于如何实现这一点的线索。我不相信你可以用手势识别器来做到这一点。有人知道吗?
更新:假设没有轮换,这实际上还不错。您可以按用户向左或向右拖动的量拉伸它,或者按他们向上拉的量旋转它。但是,当视图旋转时,这种方法不再有效,因为点发生了变化。关于如何执行此操作的任何想法?
我有一个 Github 项目,展示了如何轻松使用每种类型的 UIGesture,包括捏调整大小和旋转。
查看“捏合”、“旋转”和“同时”部分。我想你会找到你正在寻找的东西。
您可以使用手势识别器来做到这一点。但是,当这些手势发生时,您需要告诉 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
看看这些 UIView 方法。您的子类可以覆盖这些方法并执行您需要的操作。
touchesBegan:withEvent:, touchesMoved:withEvent:, touchesEnded:withEvent:, touchesCancelled:withEvent: