-1

我们如何以圆形格式显示 UIButton,以便当我们单击某个特定按钮时UIButton它会移动到中间位置?

圆形按钮

4

2 回答 2

2

您可以使用touch recognition gesture,也可以简单地将自定义设置和使用clearcolor背景UIImage的少数自定义设置。UIButton

对于该中心图像,您可以根据所选按钮简单地更改图像。UIImageView

编辑:

解决方案2:

#import <QuartzCore/QuartzCore.h>
myButton.layer.cornerRadius = 8;

也看看这个帖子。 在 iphone sdk 中将固定大小的圆形按钮设置为图像

于 2013-03-15T08:04:03.363 回答
2

创建按钮:

double perAngle = 2 * M_PI / BUTTONS_COUNT;

for (int i = 0; i < BUTTONS_COUNT; i++) {
    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(sin(perAngle * i) + basePoint.x, cos(perAngle * i) + basePoint.y, yourWidth, yourHeight)];

    [btn addTarget:self action:@selector(moveButton:) forControlEvents:UIControlEventTouchUpInside];

    [yourView addSubView:btn];
}

移动按钮:

- (void)moveButton:(UIButton *)btn
{
    [UIView animateWithDuration:2.0 animations:^{
        btn.center = basePoint;
    }];
}

basePoint是您的通告中心点。它只是一个演示代码,您应该处理后退和异常等。

PS:这段代码是一个整圆,如果你的是半圆,你自己计算角度,很容易

于 2013-03-15T08:31:08.963 回答