- #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