包括了UISegmentedControl的所有属性和方法

来源:互联网 发布:mac 安装lnmp环境 编辑:程序博客网 时间:2024/04/24 12:28

 


view plaincopy to clipboardprint?
  1. #import "SegmentedControlTestViewController.h"  
  2. @implementation SegmentedControlTestViewController  
  3. @synthesize segmentedControl;  
  4.   
  5. /**************************************** 
  6.  Tasks 
  7. Initializing a Segmented Control 
  8.  – initWithItems:   
  9. Managing Segment Content 
  10.  – setImage:forSegmentAtIndex:   
  11.  – imageForSegmentAtIndex:   
  12.  – setTitle:forSegmentAtIndex:   
  13.  – titleForSegmentAtIndex:   
  14. Managing Segments 
  15.  – insertSegmentWithImage:atIndex:animated:   
  16.  – insertSegmentWithTitle:atIndex:animated:   
  17.  numberOfSegments  property   
  18.  – removeAllSegments   
  19.  – removeSegmentAtIndex:animated:   
  20.  selectedSegmentIndex  property   
  21. Managing Segment Behavior and Appearance 
  22.  momentary  property   
  23.  segmentedControlStyle  property   
  24.  tintColor  property   
  25.  – setEnabled:forSegmentAtIndex:   
  26.  – isEnabledForSegmentAtIndex:   
  27.  – setContentOffset:forSegmentAtIndex:   
  28.  – contentOffsetForSegmentAtIndex:   
  29.  – setWidth:forSegmentAtIndex:   
  30.  – widthForSegmentAtIndex:   
  31. *********************************************/  
  32. // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.  
  33. - (void)viewDidLoad {  
  34.     NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",nil];  
  35.     //初始化UISegmentedControl  
  36.     UISegmentedControl *segmentedTemp = [[UISegmentedControl alloc]initWithItems:segmentedArray];  
  37.     segmentedControl = segmentedTemp;  
  38.     segmentedControl.frame = CGRectMake(60.0, 10.0, 200.0, 50.0);  
  39.       
  40.     [segmentedControl setTitle:@"two" forSegmentAtIndex:1];//设置指定索引的题目  
  41.     [segmentedControl setImage:[UIImage imageNamed:@"lan.png"] forSegmentAtIndex:3];//设置指定索引的图片  
  42.     [segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"mei.png"] atIndex:2 animated:NO];//在指定索引插入一个选项并设置图片  
  43.     [segmentedControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];//在指定索引插入一个选项并设置题目  
  44.     [segmentedControl removeSegmentAtIndex:0 animated:NO];//移除指定索引的选项  
  45.     [segmentedControl setWidth:70.0 forSegmentAtIndex:2];//设置指定索引选项的宽度  
  46.     [segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:1];//设置选项中图片等的左上角的位置  
  47.       
  48.     //获取指定索引选项的图片imageForSegmentAtIndex:  
  49.     UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];  
  50.     imageForSegmentAtIndex.frame = CGRectMake(60.0, 100.0, 30.0, 30.0);  
  51.       
  52.     //获取指定索引选项的标题titleForSegmentAtIndex  
  53.     UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 100.0, 30.0, 30.0)];  
  54.     titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];  
  55.       
  56.     //获取总选项数segmentedControl.numberOfSegments  
  57.     UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 100.0, 30.0, 30.0)];  
  58.     numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments];  
  59.       
  60.     //获取指定索引选项的宽度widthForSegmentAtIndex:  
  61.     UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 100.0, 70.0, 30.0)];  
  62.     widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]];  
  63.       
  64.     segmentedControl.selectedSegmentIndex = 2;//设置默认选择项索引  
  65.     segmentedControl.tintColor = [UIColor redColor];  
  66.     segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;//设置样式  
  67.     segmentedControl.momentary = YES;//设置在点击后是否恢复原样  
  68.       
  69.     [segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选  
  70.     BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选  
  71.     NSLog(@"%d",enableFlag);  
  72.       
  73.     [self.view addSubview:widthForSegmentAtIndex];  
  74.     [self.view addSubview:numberOfSegments];  
  75.     [self.view addSubview:titleForSegmentAtIndex];  
  76.     [self.view addSubview:imageForSegmentAtIndex];  
  77.     [self.view addSubview:segmentedControl];  
  78.       
  79.     [widthForSegmentAtIndex release];  
  80.     [numberOfSegments release];  
  81.     [titleForSegmentAtIndex release];  
  82.     [segmentedTemp release];  
  83.     [imageForSegmentAtIndex release];  
  84.       
  85.     //移除所有选项  
  86.     //[segmentedControl removeAllSegments];  
  87.     [super viewDidLoad];  
  88. }  
  89.   
  90. /* 
  91. // Override to allow orientations other than the default portrait orientation. 
  92. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
  93.     // Return YES for supported orientations 
  94.     return (interfaceOrientation == UIInterfaceOrientationPortrait); 
  95. } 
  96. */  
  97. - (void)didReceiveMemoryWarning {  
  98.     // Releases the view if it doesn't have a superview.  
  99.     [super didReceiveMemoryWarning];  
  100.       
  101.     // Release any cached data, images, etc that aren't in use.  
  102. }  
  103. - (void)viewDidUnload {  
  104.     // Release any retained subviews of the main view.  
  105.     // e.g. self.myOutlet = nil;  
  106. }  
  107.   
  108. - (void)dealloc {  
  109.     [segmentedControl release];  
  110.     [super dealloc];  
  111. }  
  112. @end 
原创粉丝点击