我想在 iOS 中用 UISliders
绘制一个 pentagon
作为 circumradii
(一组五个 UISliders
朝不同的方向前进并从五边形的中心出发)。目前,我已经使用一个共同的 anchorPoint
(:setAnchorPoint
) 旋转了五个 UISliders
,但它们似乎并非源自共同点。
我该怎么做?我需要开始使用自定义控件吗? Quartz2D
我还可以使用什么?
一些特定的指标会很有用(请不要只说“使用 Quartz2D
”)
这是我取得的成就Imgur
这就是我想要实现的Imgur
最佳答案
我将各种 slider 定义为 IBOutletCollection,因此我可以在 Controller 中将它们作为数组访问。然后我在 viewWillAppear:
CGPoint viewCenter = self.view.center;
for (NSInteger i = 0, count = self.sliders.count; i < count; ++i) {
UISlider *slider = self.sliders[i];
CGFloat angle = 2.0f * M_PI / count;
CALayer *layer = slider.layer;
layer.anchorPoint = CGPointMake(0.0f, 0.5f);
layer.position = viewCenter;
layer.transform = CATransform3DMakeRotation(i * angle - M_PI_2, 0.0f, 0.0f, 1.0f);
}
结果截图如下:
这是你想要的吗?
关于ios - 以 UISLider 为外接半径的五边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17484907/