UISegmentedControl是iOS中常⽤的分段控件。
每个segment都能被点击,它相当于继承了若⼲个button。分段 控件提供⼀栏按钮(有时称为按钮栏),但⼀个时刻只能激活其 中⼀个按钮
分段控件会导致⽤户在屏幕上看到的内容发⽣变化。它们常⽤被 ⽤在不同类别的信息之间选择,或者在切换不同的视图。
initWithItems: //UISegmentedControl独有的初始化⽅法,⽤来创建多个分段 selectedSegmentAtIndex //指定被选中的分段 tintColor //segmentedControl条的颜⾊(含每个segment的颜⾊) addTarget:action:forControlEvents: //给slider添加事件 注意:controlEvent为UIControlEventValueChanged
原因:分段控件本质上通过数据管理分段,所以使⽤valueChanged属性来触发事件,即数组下标变化
基本样式:
1.UISegmentedControlStylePlain
2.UISegmentedControlStyleBordered
3.UISegmentedControlStyleBar
4.UISegmentedControlStyleBezeled
//特有初始化方法,用来创建多个分段 NSMutableArray *arr = [[NSMutableArray alloc] initWithObjects:@"one",@"two",@"three",@"1", nil]; UISegmentedControl *segmented = [[UISegmentedControl alloc] initWithItems:arr];
segmented.frame = CGRectMake(100, 50, 200, 30);
momentaty //设置在点击后是否恢复原样
setTitle:forSegmentAtIndex: //为指定下标的分段设置title
例:[segmentedControl setTitle:@"two" forSegmentAtIndex:1];
setImage:forSegmentAtIndex: //为指定下标的分段设置图⽚ 例:[segmentedControl setImage:[UIImage imageNamed:@"btn_jyy.png"]forSegmentAtIndex:3]; forSegmentAtIndex: //设定指定索引不是否可点
isEnabledForSegmentAtIndex: //判断指定索引是否可点,返 回值为BOOL类型
添加事件:
//为UISegmentedControl添加事件
[seg addTarget:self action:@selector(segmentedControlAction:) forControlEvents:UIControlEventValueChanged];
//UISegmentedControl事件的响应(通常我们和swich...case分⽀语句组合使⽤) - (void)segmentedControlAction:(UISegmentedControl *)seg { switch (seg.selectedSegmentIndex) { case 0: [[self.myView.subviews firstObject] removeFromSuperview]; [self.myView addSubview:self.label]; break; case 1: [[self.myView.subviews firstObject] removeFromSuperview]; [self.myView addSubview:self.textField]; break; default: break; }
}