使用UIPanGestureRecognizer
,我允许用户拖动UIView
。我现在想要完成的是让视图在拖动过程中围绕指定点调整其旋转。
此示例可以在Tinder App中找到(当拖动图像时图像略微旋转)或在路径应用程序中(当向上或向下拖动朋友弹出窗口时,它会旋转到抓住的一侧)。
答案 0 :(得分:0)
我必须承认,我在使用UIPanGestureRecognizer
方面的经验很少,但我认为它不会影响答案。
然而,一个解决方案可能是创建一个计时器并使其在拖动UIView
时运行,然后计时器操作将确保正确地更新UIView
的旋转并且经常更新可能的。
另一个解决方案可能是子类UIView
并覆盖拖动函数(我不知道它叫什么),如果有任何轴点,只需让它自动调整它的旋转。
答案 1 :(得分:0)
使用以下方法进行旋转
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
self.yourView.transform = CGAffineTransformMakeRotation(CGFloat angle);
}
答案 2 :(得分:0)
使用 CATransform3D
添加
#define DEGREES_TO_RADIANS(d) (d * M_PI / 180)
在.pch文件中
CATransform3D myTransform = CATransform3DIdentity;
myTransform.m34 = 1.0 / -500;
myTransform = CATransform3DRotate(myTransform, DEGREES_TO_RADIANS(90), 0.0f, 0.0f, 1.0f);
myView.layer.transform = myTransform;
你可以继续改变这里的角度DEGREES_TO_RADIANS(90)希望这会对你有所帮助