我想知道是否可以绘制圆形UIButton(非圆角矩形)。
当我在自定义类型的UIButton中添加圆形图像时,它看起来像一个圆形按钮。但是在点击按钮的那一刻,按钮的边界变得可见,因此它看起来像一个方形按钮,然后当点击结束时它再次看起来像一个圆形按钮。
即使在点击发生的那一刻,我希望按钮看起来像一个圆形按钮。这可能吗?
答案 0 :(得分:9)
经过测试的代码:
·H
-(void)vijayWithApple;
的.m
-(void)vijayWithApple{
NSLog(@"vijayWithApple Called");
}
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"Micky.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(vijayWithApple) forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Show View" forState:UIControlStateNormal];
button.frame = CGRectMake(135.0, 180.0, 40.0, 40.0);//width and height should be same value
button.clipsToBounds = YES;
button.layer.cornerRadius = 20;//half of the width
button.layer.borderColor=[UIColor redColor].CGColor;
button.layer.borderWidth=2.0f;
[self.view addSubview:button];
<强>结果强>
答案 1 :(得分:4)
只需创建两个圆形按钮图像,一个用于按下状态,另一个用于未按下状态。
在IB中,创建一个Custom类型的UIButton。转到设置背景图像的部分,并将“全部”设置为正常 - 现在将图像设置为未处理的图像。
然后将下拉菜单更改为“已选择”,然后输入您按下的图像。
现在将填充类型更改为宽高比适合,并使按钮sqare。在任何地方用作普通的UIButton。当然,您也可以通过类似的步骤(为UIControlStateNormal和UIControlStateSelected设置图像)以编程方式轻松完成此操作。
答案 2 :(得分:2)
您可能需要为此创建自定义控件,但是您真的需要一个圆形按钮吗?
每个平台都有其UI惯例,iPhone也不例外。用户希望按钮是圆角矩形。
更新以回复评论:
如果我说得对,你不是在寻找一个圆形按钮,而是一个可点击(可触摸)的图像。
您可以使用UIImageView
及其touchesBegan
方法。
更新2:
等一下。我们在谈论什么样的单选按钮?出于某种原因,我以为你试图模仿真正的收音机。如果您正在谈论的是radio button群组,请使用UISegmentedControl
或UIPicker
。
答案 3 :(得分:2)
UIButton *but=[UIButton buttonWithType:UIButtonTypeCustom];
but.layer.cornerRadius=50;
答案 4 :(得分:0)
根据我对SDK的了解(不可否认,除了书籍/截屏视频教程之外,我的经验很少),你必须创建自己的控件才能有一个单选按钮。关于如何在this question中实现该建议,有几点建议。
那就是说,从用户的角度来看,我觉得坚持原生控件会更好。 iPhone用户习惯于此类交互的特定控件(即UITableViews或UIPickerViews)。偏离几乎通用的UI惯例往往会使用户体验更加刺耳。
答案 5 :(得分:0)
借助此网站在iPhone上创建圆形按钮。 您可以获得许多自定义控件:)
http://www.cocoacontrols.com/controls
http://www.cocoacontrols.com/platforms/ios/controls/uiglossybutton
H @ PPY CODING!
谢谢&amp;问候, Gautam Tiwari