如何使UIButton完全圆

时间:2013-12-28 12:48:24

标签: ios objective-c

我想让UIButton完全圆,这段代码正在创建椭圆形按钮

  _img.layer.borderWidth=2.0;
  _img.layer.cornerRadius = 100;
  _img.layer.masksToBounds = YES;
  _img.layer.borderColor=[UIColor blackColor].CGColor;
  _img.layer.borderWidth=.5f;

请帮助enter image description here

3 个答案:

答案 0 :(得分:1)

属性cornerRadius应该是宽度/高度的一半(高度和宽度应该相同)

将此代码用于完全圆形的按钮:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

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

button.frame = CGRectMake(135.0, 70.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];

enter image description here

答案 1 :(得分:0)

首先,为什么要分配两次边框宽度?虽然它与圆形按钮无关,但它是一个糟糕的编码示例。无论如何,如果你想要一个100角圆角的圆角按钮,请确保 _img 宽度和高度都等于200。 e.g。

_img.frame = CGRectMake(/* x origin of the button*/, /*y origin of the button*/, 200, 200);
_img.layer.cornerRadius = 100;
_img.layer.clipsToBounds = YES;
_img.layer.borderColor=[UIColor blackColor].CGColor;
_img.layer.borderWidth=.5f;// or 2.0f

希望这会使你的按钮,或任何_img,圆形。

答案 2 :(得分:0)

首先使img的宽度和高度相同 Img.clipstobounds = YES; 然后使layer.cornertadius等于img的宽度/ 2