如何在一个圆圈内对齐 UIButtons? [英] How to align UIButtons within a circle?

查看:20
本文介绍了如何在一个圆圈内对齐 UIButtons?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如,我有 20 个按钮.如何以循环格式添加此按钮的 UIView 的子视图?

Say for example I have 20 buttons. How can I add a subView of the UIView of this button in a circular format?

推荐答案

这会将按钮放置在给定中心的给定半径的圆周围.它还将使用 UIView 的 transform 属性旋转每个按钮.

This will place the buttons around a circle of a given radius at a given center. It will also rotate each button using the transform property of UIView.

希望对您有所帮助.:)

Hope it helps. :)

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSArray *buttons = /* you buttons here */
    float curAngle = 0;
    float incAngle = ( 360.0/(buttons.count) )*PI/180.0;
    CGPoint circleCenter = CGPointMake(160, 200); /* given center */
    float circleRadius = 100; /* given radius */
    for (UIButton *button in buttons)
    {
        CGPoint buttonCenter;
        buttonCenter.x = circleCenter.x + cos(curAngle)*circleRadius;
        buttonCenter.y = circleCenter.y + sin(curAngle)*circleRadius;
        button.transform = CGAffineTransformRotate(button.transform, curAngle);
        button.center = buttonCenter;
        [self.view addSubview:button];

        curAngle += incAngle;
    }
}

结果:

这篇关于如何在一个圆圈内对齐 UIButtons?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆