iOS围绕定位点旋转视图并按照触摸操作

时间:2011-09-15 22:54:16

标签: ios

我需要在iOS中创建一个圆形评级表,它就像一个UISlider只绕圆圈弯曲3/4。我需要在一个锚点周围旋转一个UIImageView(它是一个评级针),通过拖动一个看不见的可触摸手柄区域,它将跟随针尖。针的角度将确定一个值。

我正在努力寻找一个优雅的解决方案。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

您是否尝试过使用anchorPoint基础层的UIImageView属性?如果您有一个CGPoint表示要围绕它旋转的点(在图像视图的坐标中),您可以设置图层的锚点:

CGRect imageBounds = self.needleImageView.bounds;
[self.needleImageView.layer setAnchorPoint:CGPointMake(rotationPoint.x / imageBounds.size.width, rotationPoint.y / imageBounds.size.height)];


确保图像视图的center属性也设置为适当的位置,然后应用旋转变换以围绕图层的锚点旋转:

self.needleImageView.transform = CGAffineTransformRotate(self.needleImageView.transform, angleInRadians);


请记住,您需要导入<QuartzCore/QuartzCore.h>才能访问图层的属性。