當用戶輸入不僅僅是布爾值時,可使用分段控件(UISegmentedControl)。分段控件提供一欄按鈕(有時稱為按鈕欄),但只能激活其中一個按鈕。分段控件會導致用戶在屏幕上看到的內容發生變化。它們常用于在不同類別的信息之間選擇,或在不同的應用屏幕之間切換。下面介紹基本屬性和基本方法的使用。
NSArray?*segmentedArray = [[NSArrayalloc]initWithObjects:@"1",@"2",@"3",@"4",nil]; ?
? ??//初始化UISegmentedControl ?
? ??UISegmentedControl?*segmentedControl = [[UISegmentedControlalloc]initWithItems:segmentedArray]; ?
? ? segmentedControl.frame?=?CGRectMake(20.0, 20.0,?250.0,?50.0); ?
? ??segmentedControl.selectedSegmentIndex?=?2;//設置默認選擇項索引??
? ? segmentedControl.tintColor?= [UIColor?redColor]; ?
//有基本四種樣式
? ? segmentedControl.segmentedControlStyle?=?UISegmentedControlStylePlain;//設置樣式
?
? ? //segmentedControl.segmentedControlStyle?=?UISegmentedControlStyleBordered;//設置樣式
? ?//segmentedControl.segmentedControlStyle?=?UISegmentedControlStyleBar;//設置樣式
??//segmentedControl.segmentedControlStyle?=?UISegmentedControlStyleBezeled;//設置樣式
?
? ??//? segmentedControl.momentary = YES;//設置在點擊后是否恢復原樣? ???
????[segmentedControl setTitle:@"two" forSegmentAtIndex:1];//設置指定索引的題目 ?
??? [segmentedControl setImage:[UIImage imageNamed:@"btn_jyy.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:4];//設置選項中圖片等的左上角的位置 ?
?? ?
? ??//獲取指定索引選項的圖片imageForSegmentAtIndex:??
? ??UIImageView?*imageForSegmentAtIndex = [[UIImageViewalloc]initWithImage:[segmentedControl?imageForSegmentAtIndex:1]]; ?
? ? imageForSegmentAtIndex.frame?=?CGRectMake(60.0,?120.0,?30.0,?30.0);? ;
?? ?
? ??//獲取指定索引選項的標題titleForSegmentAtIndex ?
? ??UILabel?*titleForSegmentAtIndex = [[UILabel?alloc]initWithFrame:CGRectMake(100.0,?160.0,?30.0,?30.0)]; ?
? ? titleForSegmentAtIndex.text?= [segmentedControl?titleForSegmentAtIndex:0]; ?
?? ?
? ??//獲取總選項數segmentedControl.numberOfSegments??
? ??UILabel?*numberOfSegments = [[UILabel?alloc]initWithFrame:CGRectMake(140.0,?170.0,?30.0,?30.0)]; ?
? ? numberOfSegments.text?= [NSString?stringWithFormat:@"%d",segmentedControl.numberOfSegments];?
?
? ??//獲取指定索引選項的寬度widthForSegmentAtIndex:??
? ??UILabel?*widthForSegmentAtIndex = [[UILabel?alloc]initWithFrame:CGRectMake(180.0,?210.0,?70.0,?30.0)]; ?
? ? widthForSegmentAtIndex.text?= [NSString?stringWithFormat:@"%f",[segmentedControl?widthForSegmentAtIndex:2]]; ?
? ???
???// [segmentedControl setEnabled:NO forSegmentAtIndex:4];//設置指定索引選項不可選??
???// BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判斷指定索引選項是否可選??
? ??? [mySegmentedControladdTarget:selfaction:@selector(segmentAction:)forControlEvents:UIControlEventValueChanged]; ?//添加委托方法
//具體委托方法實例 ??
-(void)segmentAction:(UISegmentedControl?*)Seg{
? ??NSInteger?Index = Seg.selectedSegmentIndex;
? ??NSLog(@"Index %i", Index);
? ??switch?(Index) {
? ? ? ??case?0:
? ? ? ? ? ? [self?selectmyView1];
? ? ? ? ? ??break;
? ? ? ??case?1:
? ? ? ? ? ? [self?selectmyView2];
? ? ? ? ? ??break;
? ? ? ??case?2:
? ? ? ? ? ? [self?selectmyView3];
? ? ? ? ? ??break;
? ? ? ??case?3:
? ? ? ? ? ? [self?selectmyView4];
? ? ? ? ? ??break;
? ? ? ??case?4:
? ? ? ? ? ? [self?selectmyView5];
? ? ? ? ? ??break;
? ? ? ??case?5:
? ? ? ? ? ? [self?selectmyView6];
? ? ? ? ? ??break; ? ?
? ? ? ??default:
? ? ? ? ? ??break;
? ? }
}
?