iOS围绕一个锚点旋转视图,并按照触摸

我需要在iOS中创build一个循环评分表,它就像一个UISlider,只围绕一个圆圈弯曲3/4。 我需要旋转UIImageView(这是评级针)周围的锚点,通过拖动一个看不见的可触摸的处理区域将遵循针尖。 针的angular度将决定一个值。

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

你有没有尝试过使用UIImageView的底层的anchorPoint属性? 如果你有一个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>才能访问图层的属性。