菜鸟教程小白 发表于 2022-12-12 12:11:38

ios - 以 UISLiders 作为外接半径的五角大楼


                                            <p><p>我想在 iOS 中用 <code>UISliders</code> 作为 <code>circumradii</code> 绘制一个 <code>pentagon</code>(一组五个 <code>UISliders</code>从五边形的中心向不同的方向前进)。目前,我已经使用一个共同的 <code>anchorPoint</code> (<code>:setAnchorPoint</code>) 旋转了五个 <code>UISlider</code>,但它们似乎并非源自一个共同点。
我该怎么办?我需要开始使用自定义控件吗? <code>Quartz2D</code> 还有什么我可以使用的?
一些具体的指标会很有用(请不要只说“使用<code>Quartz2D</code>”)</p>

<p>这是我所取得的成就<a href="http://i.imgur.com/8UBv7ZQ" rel="noreferrer noopener nofollow">Imgur</a> </p>

<p>这就是我想要实现的 <a href="http://i.imgur.com/R6Nh08u" rel="noreferrer noopener nofollow">Imgur</a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我将各种 slider 定义为 IBOutletCollection,因此我可以将它们作为 Controller 中的数组进行访问。然后我在 <code>viewWillAppear:</code></p> 中运行以下代码

<pre><code>CGPoint viewCenter = self.view.center;

for (NSInteger i = 0, count = self.sliders.count; i &lt; count; ++i) {
    UISlider *slider = self.sliders;

    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);
}
</code></pre>

<p>这是结果的截图:</p>

<p> <img src="/image/PJzzE.png" alt="Circumradii sliders"/> </p>

<p>这是你想要的吗?</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 以 UISLiders 作为外接半径的五角大楼,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17484907/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17484907/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 以 UISLiders 作为外接半径的五角大楼