我需要在iOS中创建一个圆形评分表,类似于UISlider,只是弯曲3/4绕着圆形。我需要通过拖动一个不可见的可触摸手柄区域来旋转一个UIImageView(即评分指针)围绕锚点旋转,该手柄区域将跟随指针的尖端移动。指针的角度将确定一个值。
我正在努力寻找一种优雅的解决方案。有什么想法吗?
我需要在iOS中创建一个圆形评分表,类似于UISlider,只是弯曲3/4绕着圆形。我需要通过拖动一个不可见的可触摸手柄区域来旋转一个UIImageView(即评分指针)围绕锚点旋转,该手柄区域将跟随指针的尖端移动。指针的角度将确定一个值。
我正在努力寻找一种优雅的解决方案。有什么想法吗?
你尝试过使用 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>
才能访问图层的属性。
tan(x) = opp/adj
。 - Stuart