1) Create a new project in Xcode
2) Add new file SelectRadioButton.h and SelectRadioButton.m with SelectRadioButton.xib file.
SelectRadioButton.xib
SelectRadioButton.h
2) Add new file SelectRadioButton.h and SelectRadioButton.m with SelectRadioButton.xib file.
SelectRadioButton.xib
SelectRadioButton.h
#import <UIKit/UIKit.h>
@interface SelectRadioButton : UIViewController {
IBOutlet UILabel *lbl1;
IBOutlet UILabel *lbl2;
IBOutlet UILabel *lbl3;
IBOutlet UILabel *lbl_Selected;
IBOutlet UIButton *btn1;
IBOutlet UIButton *btn2;
IBOutlet UIButton *btn3;
}
-(IBAction)btn1Clicked;
-(IBAction)btn2Clicked;
-(IBAction)btn3Clicked;
@property (nonatomic,retain) IBOutlet UILabel *lbl1;
@property (nonatomic,retain) IBOutlet UILabel *lbl2;
@property (nonatomic,retain) IBOutlet UILabel *lbl3;
@property (nonatomic,retain) IBOutlet UILabel *lbl_Selected;
@property (nonatomic,retain) IBOutlet UIButton *btn1;
@property (nonatomic,retain) IBOutlet UIButton *btn2;
@property (nonatomic,retain) IBOutlet UIButton *btn3;
@end
3) Make all connection in xib fine accordingly
4) radioButtonDisabled.png and radioButtonActiveHover.png are two png's included in the project.
SelectRadioButton.m
#import "SelectRadioButton.h"
@implementation SelectRadioButton
@synthesize lbl1;
@synthesize lbl2;
@synthesize lbl3;
@synthesize lbl_Selected;
@synthesize btn1;
@synthesize btn2;
@synthesize btn3;
/*
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
// Custom initialization
}
return self;
}
*/
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
-(IBAction)btn1Clicked
{
[btn1 setSelected:YES];
[btn1 setImage:[UIImage imageNamed:@"radioButtonActiveHover.png"] forState:UIControlStateSelected];
[btn2 setImage:[UIImage imageNamed:@"radioButtonDisabled.png"] forState:UIControlStateSelected];
[btn3 setImage:[UIImage imageNamed:@"radioButtonDisabled.png"] forState:UIControlStateSelected];
lbl_Selected.text = lbl1.text;
}
-(IBAction)btn2Clicked
{
[btn2 setSelected:YES];
[btn2 setImage:[UIImage imageNamed:@"radioButtonActiveHover.png"] forState:UIControlStateSelected];
[btn3 setImage:[UIImage imageNamed:@"radioButtonDisabled.png"] forState:UIControlStateSelected];
[btn1 setImage:[UIImage imageNamed:@"radioButtonDisabled.png"] forState:UIControlStateSelected];
lbl_Selected.text = lbl2.text;
}
-(IBAction)btn3Clicked
{
[btn3 setSelected:YES];
[btn3 setImage:[UIImage imageNamed:@"radioButtonActiveHover.png"] forState:UIControlStateSelected];
[btn2 setImage:[UIImage imageNamed:@"radioButtonDisabled.png"] forState:UIControlStateSelected];
[btn1 setImage:[UIImage imageNamed:@"radioButtonDisabled.png"] forState:UIControlStateSelected];
lbl_Selected.text = lbl3.text;
}
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
[super viewDidUnload];
lbl1=nil;
lbl2=nil;
lbl3=nil;
lbl_Selected=nil;
btn1=nil;
btn2=nil;
btn3=nil;
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[lbl1 release];
[lbl2 release];
[lbl3 release];
[lbl_Selected release];
[btn1 release];
[btn2 release];
[btn3 release];
[super dealloc];
}
@end
OUTPUT:
its really gr8 tutorial , i have done with radio buttons which i wish 2 do
ReplyDelete,thanks a lot & keep it up :)
Thanks Yogesh... Good to know that it helped you :) :)
DeleteIts really good to the Beginners. Thanks Rahul :)
ReplyDeleteYOu are welcome Vanitha .. Good to know it helped you. :)
DeleteiCoding Rocks \m/ :)