UISegmentedControl* segment = [[UISegmentedControl alloc]initWithFrame:CGRectMake(10, 30, 200, 30)];
//在索引值为0的位置上插入一个标题为red的按钮,第三个参数为是否开启动画
[segment insertSegmentWithTitle:@"red" atIndex:0 animated:YES];
[segment insertSegmentWithTitle:@"green" atIndex:1 animated:YES];
[segment insertSegmentWithTitle:@"black" atIndex:2 animated:YES];
//设置背景颜色
segment.backgroundColor = [UIColor orangeColor];
//设置标题和边框的颜色
segment.tintColor = [UIColor blackColor];
//设置初始选中值,默认是没有选中
segment.selectedSegmentIndex = 1;
self.view.backgroundColor = [UIColor magentaColor];
//绑定事件
[segment addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:segment];
NSArray* array = @[@"res",@"green",@"black"];
UISegmentedControl* segment1 = [[UISegmentedControl alloc]initWithItems:array];
//设置位置和大小
segment1.frame = CGRectMake(10, 70, 200, 30);
[self.view addSubview:segment1];
//删除索引为0的按钮
[segment1 removeSegmentAtIndex:0 animated:YES];
//删除所有按钮
[segment1 removeAllSegments];
所需要调用的方法:
-(void)segmentAction:(UISegmentedControl*)sender
{
//titleForSegmentAtIndex通过索引值获取被选中的分段控制器的按钮标题,selectedSegmentIndex 是获取被选中按钮的索引值
NSLog(@"----%@",[sender titleForSegmentAtIndex:sender.selectedSegmentIndex]);
/*
if (sender.selectedSegmentIndex == 0) {
NSLog(@"我是red,下标0!!!");
}
if (sender.selectedSegmentIndex == 1) {
NSLog(@"我是green,下标1!!!");
}
if (sender.selectedSegmentIndex == 2) {
NSLog(@"我是black,下标2!!!");
}
*/
switch (sender.selectedSegmentIndex) {
case 0:
NSLog(@"我是red,下标0!!!");
self.view.backgroundColor = [UIColor yellowColor];
break;
case 1:
NSLog(@"我是green,下标1!!!");
self.view.backgroundColor = [UIColor magentaColor];
break;
case 2:
NSLog(@"我是black,下标2!!!");
self.view.backgroundColor = [UIColor lightGrayColor];
break;
default:
break;
}
}