UISegmentedControl

@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

原文地址:https://www.cnblogs.com/liuhong/p/3266500.html