UI基础学习之(八):UISegmentedControl

来源:互联网 发布:java怎么配置log4j 编辑:程序博客网 时间:2024/05/02 15:11

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;
    }
}



0 0