#import "SegmentedControlTestViewController.h" @implementation SegmentedControlTestViewController @synthesize segmentedControl; /**************************************** Tasks Initializing a Segmented Control – initWithItems: Managing Segment Content – setImage:forSegmentAtIndex: – imageForSegmentAtIndex: – setTitle:forSegmentAtIndex: – titleForSegmentAtIndex: Managing Segments – insertSegmentWithImage:atIndex:animated: – insertSegmentWithTitle:atIndex:animated: numberOfSegments property – removeAllSegments – removeSegmentAtIndex:animated: selectedSegmentIndex property Managing Segment Behavior and Appearance momentary property segmentedControlStyle property tintColor property – setEnabled:forSegmentAtIndex: – isEnabledForSegmentAtIndex: – setContentOffset:forSegmentAtIndex: – contentOffsetForSegmentAtIndex: – setWidth:forSegmentAtIndex: – widthForSegmentAtIndex: *********************************************/ // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",nil]; //初始化UISegmentedControl UISegmentedControl *segmentedTemp = [[UISegmentedControl alloc]initWithItems:segmentedArray]; segmentedControl = segmentedTemp; segmentedControl.frame = CGRectMake(60.0, 10.0, 200.0, 50.0); [segmentedControl setTitle:@"two" forSegmentAtIndex:1];//设置指定索引的题目 [segmentedControl setImage:[UIImage imageNamed:@"lan.png"] forSegmentAtIndex:3];//设置指定索引的图片 [segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"mei.png"] atIndex:2 animated:NO];//在指定索引插入一个选项并设置图片 [segmentedControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];//在指定索引插入一个选项并设置题目 [segmentedControl removeSegmentAtIndex:0 animated:NO];//移除指定索引的选项 [segmentedControl setWidth:70.0 forSegmentAtIndex:2];//设置指定索引选项的宽度 [segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:1];//设置选项中图片等的左上角的位置 //获取指定索引选项的图片imageForSegmentAtIndex: UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]]; imageForSegmentAtIndex.frame = CGRectMake(60.0, 100.0, 30.0, 30.0); //获取指定索引选项的标题titleForSegmentAtIndex UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 100.0, 30.0, 30.0)]; titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0]; //获取总选项数segmentedControl.numberOfSegments UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 100.0, 30.0, 30.0)]; numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments]; //获取指定索引选项的宽度widthForSegmentAtIndex: UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 100.0, 70.0, 30.0)]; widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]]; segmentedControl.selectedSegmentIndex = 2;//设置默认选择项索引 segmentedControl.tintColor = [UIColor redColor]; segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;//设置样式 segmentedControl.momentary = YES;//设置在点击后是否恢复原样 [segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选 BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选 NSLog(@"%d",enableFlag); [self.view addSubview:widthForSegmentAtIndex]; [self.view addSubview:numberOfSegments]; [self.view addSubview:titleForSegmentAtIndex]; [self.view addSubview:imageForSegmentAtIndex]; [self.view addSubview:segmentedControl]; [widthForSegmentAtIndex release]; [numberOfSegments release]; [titleForSegmentAtIndex release]; [segmentedTemp release]; [imageForSegmentAtIndex release]; //移除所有选项 //[segmentedControl removeAllSegments]; [super viewDidLoad]; } /* // 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 { // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (void)dealloc { [segmentedControl release]; [super dealloc]; } @end