set cornerRadius and setbackgroundimage to UIButton

后端 未结 7 1082

I am trying to set cornerRadius of UIButton but I dont know how to do it.

If I do like this:

button.layer.cornerRadius = 5;

works w

相关标签:
7条回答
  • 2020-12-23 19:56
    btn.clipsToBounds = YES; 
    

    i Just added this and it worked for me. I was actually able to set corner radius to UIButton with setting an image to that particular UIButton.

    0 讨论(0)
  • 2020-12-23 20:01

    Here is how I would create a button through code and set its background color.

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(100, 100, 100,50);
    [btn setTitle:@"Hello" forState:UIControlStateNormal];
    [btn setBackgroundColor:[UIColor colorWithRed:128.0/255.0f green:0.0/255.0f  blue:0.0/255.0f alpha:0.7]];
    btn.frame = CGRectMake(100.0, 100.0, 120.0, 50.0);//width and height should be same  value
    btn.clipsToBounds = YES;
    
    btn.layer.cornerRadius = 20;//half of the width
    btn.layer.borderColor=[UIColor redColor].CGColor;
    btn.layer.borderWidth=2.0f;
    
    [self.view addSubview:btn];
    

    Below is the image of the button that is related with the above code enter image description here

    You can always play around with code and create the colors that you need for background and border. Hope this would help you out.

    0 讨论(0)
  • 2020-12-23 20:03

    Set corner Radius in Identity Inspector for Button. See Pic

    Set Background image in Attribute Inspector for Button. See pic

    0 讨论(0)
  • 2020-12-23 20:08

    You can also have:

    btn.clipsToBounds = true;
    
    0 讨论(0)
  • 2020-12-23 20:12

    If you are using the image in your button background then you need to set clipsTobounds to true.

    button.layer.cornerRadius = 10 
    button.clipsToBounds = true
    
    0 讨论(0)
  • 2020-12-23 20:15

    //create button like this

         UIButton *cancel=[[UIButton alloc]initWithFrame:CGRectMake(9, 9,35,35)];
        cancel.backgroundColor=[UIColor  colorWithPatternImage:[UIImage imageNamed:@"BackX.png"]];
    [cancel setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    
        [cancel.layer setBorderColor: [[UIColor blackColor] CGColor]];
        [cancel.layer setBorderWidth: 1.0];
        cancel.contentMode=UIViewContentModeScaleAspectFill;
        cancel.clipsToBounds=YES;
        cancel.layer.cornerRadius=8.0;
        [cancel addTarget:self action:@selector(cancelbtnclk1:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:cancel];
    

    Before that add QuartzCore Framework and import QuartzCore/CoreAnimation.h in your .h file.

    hope it will helps you..

    0 讨论(0)
提交回复
热议问题