• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-12 12:11:38 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

这是我所取得的成就Imgur

这就是我想要实现的 Imgur



Best Answer-推荐答案


我将各种 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);
}

这是结果的截图:

Circumradii sliders

这是你想要的吗?

关于ios - 以 UISLiders 作为外接半径的五角大楼,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17484907/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap