UISegmentedControl是iOS中的分段控件。
每个segment都能被点击,相当于集成了若干个button。
通常我们会点击不同的segment来切换不同的view。
//创建UISegmentedControl
NSArray * dataArray = @[@"first", @"second", @"third"];
self.seg = [[UISegmentedControl alloc] initWithItems:dataArray];
//initWithItems是UISegmentedControl独有的方法。
self.seg.frame = CGRectMake(0, 20, CGRectGetWidth(self.frame), 50);
self.seg.backgroundColor = [UIColor greenColor];// 背景颜色
self.seg.tintColor = [UIColor blueColor]; // 改变字体和选中时的颜色
self.seg.momentary = YES; //瞬间选中,一般为NO
// 有几个分段
NSInteger num = self.seg.numberOfSegments;
NSLog(@"%ld", num);
// 是否根据内容分配宽度 默认为no
self.seg.apportionsSegmentWidthsByContent = YES;
// 插入一个分段到指定位置
[self.rootV.seg insertSegmentWithTitle:@"test" atIndex:0 animated:YES];
// 移除指定位置的分段
[self.rootV.seg removeSegmentAtIndex:1 animated:YES];
// 移除全部分段
removeAllSegments
// 修改指定分段的title
[self.rootV.seg setTitle:@"new" forSegmentAtIndex:2];
// 获取分段标题
NSString * s = [self.rootV.seg titleForSegmentAtIndex:1];
NSLog(@"%@", s);
// 设置指定分段的宽度
[self.rootV.seg setWidth:90.0 forSegmentAtIndex:1];
// 指定分段中内容偏移
[self.rootV.seg setContentOffset:CGSizeMake(50, 50) forSegmentAtIndex:0];
// 指定分段能否使用
[self.rootV.seg setEnabled:NO forSegmentAtIndex:0];
// 作用1、设置要选中哪个分段 2、读取目前选中哪个分段
self.rootV.seg.selectedSegmentIndex = 2;
// 添加点击事件eventValueChange
[self.rootV.seg addTarget:self action:@selector(segAction:) forControlEvents:UIControlEventValueChanged];
//实现点击事件
- (void)segAction:(UISegmentedControl *)sender
{
//使用swith case
switch (sender.selectedSegmentIndex) {
case 0:
<#statements#>
break;
default:
break;
}
}