// UISegmentedControl的使用
NSArray *oneArrayForSegmentedControl = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil];
UISegmentedControl *oneSegmentedControl = [[UISegmentedControl alloc] initWithItems:oneArrayForSegmentedControl]; // 初始化时加入items
oneSegmentedControl.frame = CGRectMake(20, 20, 280, 40);
oneSegmentedControl.tintColor = [UIColor redColor]; // 选中的颜色
oneSegmentedControl.selectedSegmentIndex = 1; // 设置默认选中项 此处是小标,从0开始
oneSegmentedControl.segmentedControlStyle = UISegmentedControlStylePlain; //设置样式
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
// UISegmentedControlStyleBordered, // large bordered
// UISegmentedControlStyleBar, // small button/nav bar style. tintable
// UISegmentedControlStyleBezeled, // DEPRECATED. Do not use this style.
// };
oneSegmentedControl.momentary = NO; // 设置点击后是否恢复原样, 默认是NO, 不恢复
[oneSegmentedControl setTitle:@"NO1" forSegmentAtIndex:0];
[oneSegmentedControl setTitle:@"NO2" forSegmentAtIndex:1];
[oneSegmentedControl setTitle:@"NO3" forSegmentAtIndex:2];
[oneSegmentedControl setTitle:@"NO5" forSegmentAtIndex:3]; // 根据Index设置名称
[oneSegmentedControl setImage:[UIImage imageNamed:@"bbb.png"] forSegmentAtIndex:3]; // 根据索引设置
[oneSegmentedControl insertSegmentWithTitle:@"KO" atIndex:2 animated:YES]; //在指定位置插入一个,并使用动画
[oneSegmentedControl removeSegmentAtIndex:1 animated:YES]; // 指定索引移除一个,使用动画
[oneSegmentedControl setWidth:100 forSegmentAtIndex:1]; // 设置指定索引位置的宽度
[oneSegmentedControl setContentOffset:CGSizeMake(5.0, -5)forSegmentAtIndex:1]; // 根据索引设置文字的位置
NSLog(@"%@", [oneSegmentedControl titleForSegmentAtIndex:0]); // 获取指定索引上显示的文字 NO1
NSLog(@"%u", oneSegmentedControl.numberOfSegments); // 获取总共有多少项
NSLog(@"%f", [oneSegmentedControl widthForSegmentAtIndex:1]); // 根据索引获取那一项的宽度
NSLog(@"%i", [oneSegmentedControl isEnabledForSegmentAtIndex:2]); // 判断索引项是否可选
[oneSegmentedControl setEnabled:NO forSegmentAtIndex:2]; // 设置索引项不可选
[oneSegmentedControl addTarget:self action:@selector(segmentedControlAction:)forControlEvents:UIControlEventValueChanged]; // 添加监听事件
[oneSegmentedControl removeAllSegments]; // 移除其中全部项
// 添加到View上,并释放内存
[self.view addSubview:oneSegmentedControl];
[oneSegmentedControl release], oneSegmentedControl = nil;
#pragma mark - 实现oneSegmentedControl的监听事件
- (void)segmentedControlAction:(UISegmentedControl *) sender {
// 获取当前的选中项的索引值
NSUInteger index = sender.selectedSegmentIndex;
// 判断索引值
switch (index) {
case 0:
NSLog(@"第一个选项被选中");
break;
case 1:
NSLog(@"第二个选项被选中");
break;
case 2:
NSLog(@"第三项被选中");
break;
case 3:
NSLog(@"第四项被选中");
break;
default:
break;
}
}