美文网首页工作新学知识ios开发
IOS UI界面 UISegmentedControl的基本用

IOS UI界面 UISegmentedControl的基本用

作者: 也许不会重来 | 来源:发表于2016-04-29 16:16 被阅读4135次

    @UISegmentedControl类似于UIButton,它可以提供多个选择操作,响应事件,但具有很大的局限性,我们更多的是使用自定义的,不过在这里还是介绍下它的基本用法.

    my6Fra.png!web.png
    NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"1",@"2",@"3",@"4",nil];
    
    //初始化UISegmentedControl
    
    UISegmentedControl *segmentedControl = [[UISegmentedControlalloc]initWithItems:segmentedArray];
    
    segmentedControl.frame = CGRectMake(20.0,……)
    
    // 设置默认选择项索引
    
    segmentedControl.selectedSegmentIndex = 2;
    
    segmentedControl.tintColor = [UIColor redColor];
    
    // 有基本四种样式
    
    segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;
    
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBordered;
    
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
    
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBezeled;
    
    // 设置在点击后是否恢复原样
    
    segmentedControl.momentary = YES;
    
    [segmentedControl setTitle:@"two" forSegmentAtIndex:1];//设置指定索引的题目
    
    [segmentedControl setImage:[UIImage imageNamed:@"btn_jyy.png"] forSegmentAtIndex:3];//设置指定索引的图片
    
    // 在指定索引插入一个选项并设置图片
    
    [segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"mei.png"] atIndex:2 animated:NO];
    
    // 在指定索引插入一个选项并设置题目
    
    [segmentedControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];
    
    // 移除指定索引的选项
    
    [segmentedControl removeSegmentAtIndex:0 animated:NO];
    
    // 设置指定索引选项的宽度
    
    [segmentedControl setWidth:70.0 forSegmentAtIndex:2];
    
    // 设置选项中图片等的左上角的位置
    
    [segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:4];
    
    //获取指定索引选项的图片imageForSegmentAtIndex:
    
    UIImageView *imageForSegmentAtIndex = [[UIImageViewalloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];
    
    imageForSegmentAtIndex.frame = CGRectMake(60.0, 120.0, 30.0, 30.0);  ;
    
    //获取指定索引选项的标题titleForSegmentAtIndex
    
    UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 160.0, 30.0, 30.0)];
    
    titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];
    
    //获取总选项数segmentedControl.numberOfSegments
    
    UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 170.0, 30.0, 30.0)];
    
    numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments];
    
    //获取指定索引选项的宽度widthForSegmentAtIndex:
    
    UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 210.0, 70.0, 30.0)];
    
    widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]];
    
    // [segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选
    
    // BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选
    
    [mySegmentedControladdTarget:selfaction:@selector(didClicksegmentedControlAction:)forControlEvents:UIControlEventValueChanged];
    
    -(void)didClicksegmentedControlAction:(UISegmentedControl *)Seg{
    
    NSInteger Index = Seg.selectedSegmentIndex;
    
    NSLog(@"Index %i", Index);
    
    switch (Index) {
    
    case 0:
    
    [self selectmyView1];
    
    break;
    
    case 1:
    
    [self selectmyView2];
    
    break;
    
    case 2:
    
    [self selectmyView3];
    
    break;
    
    case 3:
    
    [self selectmyView4];
    
    break;
    
    …………………………………….
    
    default:
    
    break;
    
    }
    
    }
    

    相关文章

      网友评论

      本文标题:IOS UI界面 UISegmentedControl的基本用

      本文链接:https://www.haomeiwen.com/subject/wtxkrttx.html