• UISegmentedControl


    1.
    NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",nil];
    UISegmentedControl *segmentedTemp = [[UISegmentedControl alloc]initWithItems:segmentedArray];
    self.segmentedControl = segmentedTemp;
    segmentedControl.frame = CGRectMake(10.0, 10.0, 300.0, 29.0);
     
    2.常用属性及设置方法如下:
    //设置指定索引的题目
    [segmentedControl setTitle:@"1" forSegmentAtIndex:1];
    //设置指定索引的图片
    [segmentedControl setImage:[UIImage imageNamed:@"home.png"] forSegmentAtIndex:2];
    //在指定索引插入一个选项并设置图片
    [segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"more.png"] atIndex:2 animated:NO];
    //在指定索引插入一个选项并设置题目
    [segmentedControl insertSegmentWithTitle:@"new" atIndex:3 animated:NO];
    //移除指定索引的选项
    [segmentedControl removeSegmentAtIndex:0 animated:NO];
    //设置指定索引选项的宽度
    [segmentedControl setWidth:60.0 forSegmentAtIndex:2];
    //设置选项中图片等的左上角的位置
    //[segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:1];
     
    //设置默认选择项索引
    segmentedControl.selectedSegmentIndex = 2;
    //分段控件的颜色,只有样式为UISegmentedControlStyleBar的时候才有效果
    segmentedControl.tintColor = [UIColor redColor];
    //设置样式
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBordered;
    //设置在点击后是否恢复原样
    segmentedControl.momentary = NO;
    //设置指定索引选项不可选
    [segmentedControl setEnabled:NO forSegmentAtIndex:3];
    //判断指定索引选项是否可选
    BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:3];
    NSLog(@"%d",enableFlag);
     
    [segmentedControl addTarget:self
    action:@selector(segmentAction:)
    forControlEvents:UIControlEventValueChanged];
     
    -(void)segmentAction:(UISegmentedControl *)Seg
    {
    NSInteger index = Seg.selectedSegmentIndex;
    switch (index) {
    case 0:
    NSLog(@"0 clicked.");
    break;
    case 1:
    NSLog(@"1 clicked.");
    break;
    case 2:
    NSLog(@"2 clicked.");
    break;
    case 3:
    NSLog(@"3 clicked.");
    break;
    case 4:
    NSLog(@"4 clicked.");
    break;
    default:
    break;
    }
    }
     
    //获取指定索引选项的图片imageForSegmentAtIndex:
    UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];
    imageForSegmentAtIndex.frame = CGRectMake(60.0, 100.0, 30.0, 30.0);
     
    //获取指定索引选项的标题titleForSegmentAtIndex
    UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 100.0, 30.0, 30.0)];
    titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];
     
    //获取总选项数segmentedControl.numberOfSegments
    UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 100.0, 30.0, 30.0)];
    numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments];
     
    //获取指定索引选项的宽度widthForSegmentAtIndex:
    UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 100.0, 70.0, 30.0)];
    widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]];
     
    //cap insets用来指定哪些区域是固定不变的,未制定的区域则会repeat
     
    UIImage *segmentSelected = [[UIImage imageNamed:@"bg_o.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 5, 5, 5)];
     
    UIImage *segmentUnselected = [[UIImage imageNamed:@"bg.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 5, 5, 5)];
     
    UIImage *segmentSelectedUnselected = [UIImage imageNamed:@"line.png"] ;
     
    UIImage *segUnselectedSelected = [UIImage imageNamed:@"line.png"] ;
     
    UIImage *segmentUnselectedUnselected = [UIImage imageNamed:@"line.png"];
     
    //Segmente未选中背景
    [[UISegmentedControl appearance] setBackgroundImage:segmentUnselected
    forState:UIControlStateNormal
    barMetrics:UIBarMetricsDefault];
     
    //Segmente选中背景
    [[UISegmentedControl appearance] setBackgroundImage:segmentSelected
    forState:UIControlStateSelected
    barMetrics:UIBarMetricsDefault];
     
    //Segmente左右都未选中时的分割线
    //BarMetrics表示navigation bar的状态,UIBarMetricsDefault 表示portrait状态(44pixel height),UIBarMetricsLandscapePhone 表示landscape状态(32pixel height)
     
    [[UISegmentedControl appearance] setDividerImage:segmentUnselectedUnselected
    forLeftSegmentState:UIControlStateNormal
    rightSegmentState:UIControlStateNormal
    barMetrics:UIBarMetricsDefault];
     
    [[UISegmentedControl appearance] setDividerImage:segmentSelectedUnselected
    forLeftSegmentState:UIControlStateSelected
    rightSegmentState:UIControlStateNormal
    barMetrics:UIBarMetricsDefault];
     
    [[UISegmentedControl appearance] setDividerImage:segUnselectedSelected
    forLeftSegmentState:UIControlStateNormal
    rightSegmentState:UIControlStateSelected
    barMetrics:UIBarMetricsDefault];
     
    //字体
    NSDictionary *textAttibutesUnSelected = [NSDictionary dictionaryWithObjectsAndKeys:
    [UIFont systemFontOfSize:18],UITextAttributeFont,
    [UIColor blackColor],UITextAttributeTextColor,
    [UIColor whiteColor],UITextAttributeTextShadowColor,
    [NSValue valueWithCGSize:CGSizeMake(1, 1)],UITextAttributeTextShadowOffset,nil];
     
    NSDictionary *textAttibutesSelected = [NSDictionary dictionaryWithObjectsAndKeys:
    [UIFont systemFontOfSize:18],UITextAttributeFont,
    [UIColor whiteColor],UITextAttributeTextColor,
    [UIColor whiteColor],UITextAttributeTextShadowColor,
    [NSValue valueWithCGSize:CGSizeMake(0, 0)],UITextAttributeTextShadowOffset,nil];
     
    [[UISegmentedControl appearance] setTitleTextAttributes:textAttibutesUnSelected
    forState:UIControlStateNormal];
     
    [[UISegmentedControl appearance] setTitleTextAttributes:textAttibutesSelected
    forState:UIControlStateSelected];
  • 相关阅读:
    [Python] Python2 、Python3 urllib 模块对应关系
    [Python] Mac pip安装的模块包路径以及常规python路径
    git 使用详解
    版本控制工具简介
    python基础练习题(二)
    python简介,安装
    python基础练习题(一)
    python练习题之面向对象(三)
    python之input函数,if,else条件语句使用的练习题(一)
    C++ 静态变量
  • 原文地址:https://www.cnblogs.com/shifu/p/4949915.html
Copyright © 2020-2023  润新知