标签:
分段控件提供了一栏按钮,但是每次只能激活一个按钮,每一个按钮对应不同的屏幕显示的东西(这里的不同,应该理解为数据的不同,view是相同的,如筛选出不同的信息,但是view是一样的(布局样式是一样的))。
RootView.m
// 创建segmentcontrol
// 创建数组
NSMutableArray *itemsArr = [NSMutableArray array];
[itemsArr addObject:@"first"];
[itemsArr addObject:@"second"];
[itemsArr addObject:@"thied"];
self.seg = [[[UISegmentedControl alloc]initWithItems:itemsArr]autorelease];
// 设置frame
self.seg.frame = CGRectMake(50, 50, 200, 50);
self.seg.tintColor = [UIColor greenColor];
// 默认选中
self.seg.selectedSegmentIndex = 0;
[self addSubview:_seg];
1、self.seg = [[UISegmentedControl alloc]initWithItems:itemsArr];为初始化方法,是UISegmentedControl特有的初始化方法。initWithItems:的参数是一个数组。
2、数组中又几个元素,这个segment就会分成几栏button。
3、self.seg.tintColor,给分栏设置颜色
4、self.seg.selectedSegmentIndex:为默认选中哪一个栏,参数是数组的下标。
RootViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
btn.frame = CGRectMake(50, 150, 50, 50);
btn.backgroundColor = [UIColor blueColor];
[btn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
// 添加segment点击事件
[self.rv.seg addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];
}
- (void)btnAction:(UIButton *)sender{
NSLog(@"btn");
// 设置segment分段上的文字
[self.rv.seg setTitle:@"第一项" forSegmentAtIndex:0];
[self.rv.seg setTitle:@"第二项" forSegmentAtIndex:1];
[self.rv.seg setTitle:@"第三项" forSegmentAtIndex:2];
[self.rv.seg insertSegmentWithTitle:@"第四项" atIndex:3 animated:YES];
}
// segment 响应方法
- (void)segAction:(UISegmentedControl *)sender{
NSLog(@"%ld",sender.selectedSegmentIndex);
if (sender.selectedSegmentIndex == 0) {
[sender setTintColor:[UIColor redColor]];
}else if(sender.selectedSegmentIndex == 1){
[sender setTintColor:[UIColor blueColor]];
}else{
[sender setTintColor:[UIColor whiteColor]];
}
}
1、在controller里实现segment的逻辑
2、在这里添加一个button,每点击一次button,就会改变一次segment的标题:setTitle:@"第一项" forSegmentAtIndex:0
说明把第0个分段的标题设置成“第一项”。
3、selectedSegmentAtIndex:0.被选中的分栏的下标为0
4、setTintColor:改变分栏的颜色
5、addTarget:selfaction:@selector(segAction:)forControlEvents:UIControlEventValueChanged
添加segment点击事件:第一个参数:谁来执行,第二个参数,到谁那里去找segAction方法,然后执行,第三个参数:事件改变的时候才执行。
标签:
原文地址:http://www.cnblogs.com/Coder-GT/p/4872567.html