如何创建圆形按钮?

cra*_*431 37 iphone xcode objective-c

我是Iphone开发的新手.

我想创建一个圆形的按钮.此按钮应该看起来像一个圆圈.

这给出了圆形矩形按钮.

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame     = CGRectMake(100, 100, 100, 30);
UIImage  *image  = [UIImage imageNamed:@"01.png"];
[button setImage:image forState:UIControlStateNormal];
[image release];
Run Code Online (Sandbox Code Playgroud)

我想出了如何创建一个圆角矩形按钮,但我想创建一个圆形按钮.请建议.

Vij*_*com 88

经测试的代码:

.H

 #import <QuartzCore/QuartzCore.h>

-(void)roundButtonDidTap:(UIButton*)tappedButton;
Run Code Online (Sandbox Code Playgroud)

.M

#define ROUND_BUTTON_WIDTH_HEIGHT YourButtonWidthToBeSetHere

-(void)roundButtonDidTap:(UIButton*)tappedButton{

    NSLog(@"roundButtonDidTap Method Called");

}



UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

[button setImage:[UIImage imageNamed:@"TimoonPumba.png"] forState:UIControlStateNormal];

[button addTarget:self action:@selector(roundButtonDidTap:) forControlEvents:UIControlEventTouchUpInside];

//width and height should be same value
button.frame = CGRectMake(0, 0, ROUND_BUTTON_WIDTH_HEIGHT, ROUND_BUTTON_WIDTH_HEIGHT);

//Clip/Clear the other pieces whichever outside the rounded corner
button.clipsToBounds = YES;

//half of the width
button.layer.cornerRadius = ROUND_BUTTON_WIDTH_HEIGHT/2.0f;
button.layer.borderColor=[UIColor redColor].CGColor;
button.layer.borderWidth=2.0f;

[self.view addSubview:button];
Run Code Online (Sandbox Code Playgroud)

结果

在此输入图像描述

这个概念中的几何

在此输入图像描述


Fel*_*ker 25

故事板选项(应适用于Swift或ObjC) -

如果您更喜欢在Storyboard中工作,还有另一种选择.

首先,将宽度和高度设置为相同的值,以形成完美的正方形. 在此输入图像描述

其次,输入以下属性.重要信息 - 将layer.cornerRadius的值设置为宽度的一半.

然后,当您运行该应用程序时,您的按钮将是圆形的.

在此输入图像描述


Tej*_*der 10

试试这个,它对我有用.它只会使你的按钮或任何视图呈圆形,只有你已经在正方形,即宽度应该等于高度.

yourButton.layer.cornerRadius = yourButton.bounds.size.width/2;
Run Code Online (Sandbox Code Playgroud)