Search code examples
iosobjective-ccocoa-touchuibuttonrounded-corners

How to round the corners of a button


I have a rectangle image (jpg) and want to use it to fill the background of a button with rounded corner in xcode.

I wrote the following:

UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
CGRect frame = CGRectMake(x, y, cardWidth, cardHeight);
button.frame = frame;
[button setBackgroundImage:backImage forState:UIControlStateNormal];

However, the button I get with that approach doesn't have its corners rounded: it is instead a plain rectangle that looks exactly like my original image. How can I get instead an image with rounded corner to represent my button?

Thanks!


Solution

  • I tried the following solution with the UITextArea and I expect this will work with UIButton as well.

    First of all import this in your .m file -

    #import <QuartzCore/QuartzCore.h>
    

    and then in your loadView method add following lines

        yourButton.layer.cornerRadius = 10; // this value vary as per your desire
        yourButton.clipsToBounds = YES;