Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I create a big, red UIButton with iOS?

Using iOS, how would I go about creating a red "delete" button similar to the one used when deleting contacts on the iPhone?

like image 670
igul222 Avatar asked Sep 15 '09 15:09

igul222


2 Answers

You first start with a stretchable image:

alt text http://grab.by/4lP

Then you make a button with the stretched image as the background and apply text.

UIButton *sampleButton = [UIButton buttonWithType:UIButtonTypeCustom]; [sampleButton setFrame:CGRectMake(kLeftMargin, 10, self.view.bounds.size.width - kLeftMargin - kRightMargin, 52)]; [sampleButton setTitle:@"Button Title" forState:UIControlStateNormal]; [sampleButton setFont:[UIFont boldSystemFontOfSize:20]]; [sampleButton setBackgroundImage:[[UIImage imageNamed:@"redButton.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal]; [sampleButton addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:sampleButton]; 

Obviously, you will need to adjust the frame origin and size to match your app, as well as the target, selector, and title.

like image 62
coneybeare Avatar answered Sep 24 '22 15:09

coneybeare


I've also made some buttons...retina and non-retina versions

If you want to use them in a Cell just use the following code in cellForRowAtIndexPath:

UIButton *sampleButton = [UIButton buttonWithType:UIButtonTypeCustom]; [sampleButton setFrame:[cell.contentView frame]]; [sampleButton setFrame:CGRectMake(0, 0, cell.bounds.size.width-20, 44)]; [sampleButton setBackgroundImage:[UIImage imageNamed:@"button_red.png"] forState:UIControlStateNormal]; [cell addSubview:sampleButton]; 

Green Button Normal

Red Button Normal

Grey Button Normal

Green Button RetinaRed Button RetinaGrey Button Retina

like image 24
Staeff Avatar answered Sep 22 '22 15:09

Staeff