Sample Code:
// Set a method for this
-(void) addButtonWithFrame :(CGRect ) btnFrame andName: (NSString *) titleName
{
UIButton *addButton = [UIButton buttonWithType: UIButtonTypeCustom];
// (Value = 0) means NO Button Style.
/* iOS Library provide more Types of UIButton , like
- UIButtonTypeRoundedRect (Value = 1), Means a Rounded-Rectangle Style
- UIButtonTypeDetailDisclosure (Value = 2), Means a Details Disclosure Button
- UIButtonTypeInfoLight (Value = 3), Means an Information button with light background
- UIButtonTypeInfoDark (Value = 4), Means an Information Button with dark background
- UIButtonTypeContactAdd (Value = 5), Means a contact add button.
You can choose any one of them. */
//Set Button Frame
addButton.frame = btnFrame;
//Set Tag
addButton.tag = cnt; //cnt = 0,1,2…..so on.
// Set Title
[addButton setTitle : titleName forState: UIControlSateNormal];
//If you want to user touch and title highlighted, changes the state like :
// [addButton setTitle : titleName forState: UIControlStateHighlighted];
//Set Title Color
[addButton setTitileColor: [UIColor darkGrayColor] forState: UIControlStateNormal];
//Set Font
addButton.titleLabel.font = [UIFont fontWithName: @ “FontName” size:14 ];
or
addButton.titleLabel.font = [UIFont systemFontOfSize:14];
//Set Image
[addButton setImage:[UIImage imageNamed:@ “ImageName_Normal”] forState: UIControlStateNormal];
[addButton setImage:[UIImage imageNamed:@ “ImageName_Highlighted”] forState: UIControlStateHighlighted];
// Set Background Image
[addButton setBackgroundImage:[UIImage imageNamed:@ “ImageNormal.png”] forState: UIControlStateNormal];// highlighted
[addButton setBackgroundImage:[UIImage imageNamed:@ “ImageHighlighted.png”] forState: UIControlStateHighlighted];
// Set your custom Image, means add a ImageView on Button
UIImageView *myImageView = [[UIImageView alloc] initWithFrame: CGRectMake( 0,0, btnFrame.frame.size.width, btnFrame.frame.size.height)];
myImageView.image = [UIImage imageNamed: @ “Image.png”];
[addButton addSubview: myImageView];
[myImageView release];
// Other way to set Image highlighted and normal with Strechable Image
UIImage *normalImage = [UIImage imageNamed:@ “normalImage.png”];
UIImage *strechableNormalImage = [normalImage stretchableImageWithLeftCapWidth: 14 topCapHeight: 0];
[addButton setBackgroundImage: strechableNormalImage forState: UIControlStateNormal];
UIImage *highlightedImage = [UIImage imageNamed:@ “highlightedImage.png”];
UIImage *strechableHighlightedImage = [highlightedImage stretchableImageWithLeftCapWidth: 14 topCapHeight: 0];
[addButton setBackgroundImage: strechableHighlightedImage forState: UIControlStateHighlighted];
//Set Line Break Mode
addButton.titleLabel.lineBreakMode = UILineBreakModeTrailTruncation;
// Set Border Layer border Width and Color
// First you import and add QuartzCore Framework
addButton.layer.borderWidth = 2.0f;
addButton.layer.borderColor = [UIColor blackColor].cgcolor;
// setRadius Corner
addButton.layer.radiusCorner = 9.0f;
// Set Action on Button
[addButton addTarget: self action:@selector(clickOnButtons:) forControlEvents: UIControlEventTouchUpInside];
// Add to SubView
[self.view addSubview: addButton];
}
//Calling Method
[self addButtonWithFrame:CGRectMake(20,20,120,30) andName:@ “Close”];
Or
CGRect rect;
rect = CGRectMake (20,20,120,30);
NSString *btnName = @ “Close”;
[self addButtonWithFrame:rect andName:btnName];