@implementation ViewController
//call this method when user select a different one
- (void) segmentChanged: (UISegmentedControl *) paramSender {
if ([paramSender isEqual:self.mySegmentedControl]) {
NSInteger selectedSegmentIndex = [paramSender selectedSegmentIndex];
NSString *selectedSegmentText = [paramSender titleForSegmentAtIndex:selectedSegmentIndex];
NSLog(@"Segment %ld with %@ text is selected", (long)selectedSegmentIndex,selectedSegmentText);
}
}
- (void)viewDidLoad
{
[superviewDidLoad];
self.view.backgroundColor = [UIColorwhiteColor];
NSArray *segments = [[NSArray alloc] initWithObjects:@"iphone",@"imac",@"ipad", [UIImage imageNamed:@"iPad.png"],nil];
self.mySegmentedControl = [[UISegmentedControl alloc] initWithItems:segments];
[self.mySegmentedControladdTarget:selfaction:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged];
self.mySegmentedControl.momentary = YES; //back to its nomal after user have selected it
// the segment size
CGRect segmentedFrame = self.mySegmentedControl.frame;
segmentedFrame.size.height = 64.0f;
segmentedFrame.size.width = 300.0f;
self.mySegmentedControl.frame = segmentedFrame;
self.mySegmentedControl.center = self.view.center;
[self.viewaddSubview:self.mySegmentedControl];
}
//default is UISegmentedControlStylePlain Style of the sement
// self.mySegmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
typedef enum {
UISegmentedControlStylePlain, UISegmentedControlStyleBordered, UISegmentedControlStyleBar, UISegmentedControlStyleBezeled,
} UISegmentedControlStyle;