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

  1. NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"1",@"2",@"3",@"4",nil];
  2. //初始化UISegmentedControl
  3. UISegmentedControl *segmentedControl = [[UISegmentedControlalloc]initWithItems:segmentedArray];
  4. segmentedControl.frame = CGRectMake(20.0,……)
  5. // 设置默认选择项索引
  6. segmentedControl.selectedSegmentIndex = 2;
  7. segmentedControl.tintColor = [UIColor redColor];
  8. // 有基本四种样式
  9. segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;
  10. segmentedControl.segmentedControlStyle = UISegmentedControlStyleBordered;
  11. segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
  12. segmentedControl.segmentedControlStyle = UISegmentedControlStyleBezeled;
  13.  
  14. // 设置在点击后是否恢复原样
  15. segmentedControl.momentary = YES;
  16. [segmentedControl setTitle:@"two" forSegmentAtIndex:1];//设置指定索引的题目
  17. [segmentedControl setImage:[UIImage imageNamed:@"btn_jyy.png"] forSegmentAtIndex:];//设置指定索引的图片
  18. // 在指定索引插入一个选项并设置图片
  19. [segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"mei.png"] atIndex:2 animated:NO];
  20. // 在指定索引插入一个选项并设置题目
  21. [segmentedControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];
  22.  
  23. // 移除指定索引的选项
  24. [segmentedControl removeSegmentAtIndex:0 animated:NO];
  25. // 设置指定索引选项的宽度
  26. [segmentedControl setWidth:70.0 forSegmentAtIndex:2];
  27. // 设置选项中图片等的左上角的位置
  28. [segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:4];
  29.  
  30. //获取指定索引选项的图片imageForSegmentAtIndex:
  31. UIImageView *imageForSegmentAtIndex = [[UIImageViewalloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];
  32. imageForSegmentAtIndex.frame = CGRectMake(60.0, 120.0, 30.0, 30.0); ;
  33.  
  34. //获取指定索引选项的标题titleForSegmentAtIndex
  35. UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 160.0, 30.0, 30.0)];
  36. titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];
  37.  
  38. //获取总选项数segmentedControl.numberOfSegments
  39. UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 170.0, 30.0, 30.0)];
  40. numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments];
  41.  
  42. //获取指定索引选项的宽度widthForSegmentAtIndex:
  43. UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 210.0, 70.0, 30.0)];
  44. widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]];
  45.  
  46. // [segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选
  47. // BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选
  48. [mySegmentedControladdTarget:selfaction:@selector(didClicksegmentedControlAction:)forControlEvents:UIControlEventValueChanged];
  49.  
  50. -(void)didClicksegmentedControlAction:(UISegmentedControl *)Seg{
  51. NSInteger Index = Seg.selectedSegmentIndex;
  52. NSLog(@"Index %i", Index);
  53. switch (Index) {
  54. case 0:
  55. [self selectmyView1];
  56. break;
  57. case 1:
  58. [self selectmyView2];
  59. break;
  60. case 2:
  61. [self selectmyView3];
  62. break;
  63. case 3:
  64. [self selectmyView4];
  65. break;
  66. …………………………………….
  67. default:
  68. break;
  69. }
  70. }
  71.  
  72. 学习自:http://www.tuicool.com/articles/yUfURj

UISegmentedControl 功能简单 分析的更多相关文章

  1. iOS各框架功能简述以及系统层次结构简单分析

    iOS各个框架所对应的功能简单介绍 iOS系统结构层次:

  2. CSipSimple 简单分析

    简介 CSipSimple是一款可以在android手机上使用的支持sip的网络电话软件,可以在上面设置使用callda网络电话.连接使用方式最好是使用wifi,或者3g这样上网速度快,打起电话来效果 ...

  3. C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法

    对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET ...

  4. 简单分析Java的HashMap.entrySet()的实现

    关于Java的HashMap.entrySet(),文档是这样描述的:这个方法返回一个Set,这个Set是HashMap的视图,对Map的操作会在Set上反映出来,反过来也是.原文是 Returns ...

  5. FFmpeg的HEVC解码器源码简单分析:解析器(Parser)部分

    ===================================================== HEVC源码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpeg ...

  6. CardboardSDK-iOS 源码简单分析

    该项目地址: 地址 克隆地址为 https://github.com/rsanchezsaez/CardboardSDK-iOS.git 目前如果想在iOS设备上实现双目VR的功能,Google 已经 ...

  7. java 中 “文件” 和 “流” 的简单分析

    java 中 FIle 和 流的简单分析 File类 简单File 常用方法 创建一个File 对象,检验文件是否存在,若不存在就创建,然后对File的类的这部分操作进行演示,如文件的名称.大小等 / ...

  8. FFmpeg源码简单分析:libswscale的sws_scale()

    ===================================================== FFmpeg的库函数源码分析文章列表: [架构图] FFmpeg源码结构图 - 解码 FFm ...

  9. FFmpeg的HEVC解码器源代码简单分析:环路滤波(Loop Filter)

    ===================================================== HEVC源代码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpe ...

随机推荐

  1. 【Linux】CentOS7 上使用yum安装和卸载软件【yum安装wine举例】

    关于yum的相关解释,请 man yum 自行查看. 配置常用源:http://www.cnblogs.com/sxdcgaq8080/p/7516186.html yum的使用类似于在windows ...

  2. linux 远程同步数据工具rsync (1)

    rsync 远程同步数据工具,是linux下的数据备份工具rsync(remote sync 远程同步) 特点:在本地同步数据(类似于cp,但是有不同于远程scp),它会先判断已经存在的数据和远程数据 ...

  3. 用于快速排查Java的CPU性能问题(top us值过高)

    转载于GIT路径 https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-th ...

  4. VirtualBox修改现有虚拟磁盘大小

    VirtualBox装Ubuntu下载Android源代码分配的磁盘空间不够,修改磁盘大小必须进入VirtualBox安装目录使用VBoxmanager修改,执行: vboxmange modifyh ...

  5. 为php5.6.30安装redis扩展

    1.下载phpredis3.1.2 https://github.com/phpredis/phpredis/releases/tag/3.1.2 2.解压后在phpredis3.1.2目录下执行 / ...

  6. Laravel5.1之表单验证

    一.生成一个验证类 1.生成 artisan make:request TestRequest 2.生成的文件在项目Http下的Requests文件夹下 3.默认生成的文件如下 class TestR ...

  7. 冰点文库下载器V3.1.4

    下载百度文库的利器 http://www.bingdian001.com/?softid=3&ver=3.1.4可以下载

  8. showModalDialog后如何刷新父页面

    最近一个项目使用到的.在网上查了好久,有的可行,有的就不行.总结一下吧.方案一:父页面:window.showModalDialog('User.jsf?USERCODE='001'&Rnd= ...

  9. ios侧滑返回:完美解决 interactivePopGestureRecognizer 卡住的问题

    interactivePopGestureRecognizer是iOS7推出的解决VeiwController滑动后退的新功能,虽然很实用,但是坑也很多啊(比如在rootViewcontroller下 ...

  10. Android下的Handler

    coder是没必要重复造轮子的,写博客亦如此.因为工作忙,学的东西比较多,没法自己来写博客.自己想了个思路就是,把别人的技术精华拿过来,从简到难,慢慢学习.最后提炼,得到自己想学的东西即可,等有时间了 ...