UISegmentedControl 功能简单 分析

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

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

学习自:http://www.tuicool.com/articles/yUfURj
时间: 2024-07-31 03:50:07

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

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

iOS各个框架所对应的功能简单介绍 iOS系统结构层次: 注明:以上图片截取自网络教学资料刘凡的PPT ,若有侵犯之处,请联系删除

FFmpeg源代码简单分析:avformat_alloc_output_context2()

本文简单分析FFmpeg中常用的一个函数:avformat_alloc_output_context2().在基于FFmpeg的视音频编码器程序中,该函数通常是第一个调用的函数(除了组件注册函数av_register_all()).avformat_alloc_output_context2()函数可以初始化一个用于输出的AVFormatContext结构体.它的声明位于libavformat\avformat.h,如下所示. /** * Allocate an AVFormatContext

实时计算,流数据处理系统简介与简单分析

转自:http://www.csdn.net/article/2014-06-12/2820196-Storm 摘要:实时计算一般都是针对海量数据进行的,一般要求为秒级.实时计算主要分为两块:数据的实时入库.数据的实时计算.今天这篇文章详细介绍了实时计算,流数据处理系统简介与简单分析. 编者按:互联网领域的实时计算一般都是针对海量数据进行的,除了像非实时计算的需求(如计算结果准确)以外,实时计算最重要的一个需求是能够实时响应计算结果,一般要求为秒级.实时计算的今天,业界都没有一个准确的定义,什么

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

上篇文章概述了FFmpeg中HEVC(H.265)解码器的结构:从这篇文章开始,具体研究HEVC解码器的源代码.本文分析HEVC解码器中解析器(Parser)部分的源代码.这部分的代码用于分割HEVC的NALU,并且解析SPS.PPS.SEI等信息.解析HEVC码流(对应AVCodecParser结构体中的函数)和解码HEVC码流(对应AVCodec结构体中的函数)的时候都会调用该部分的代码完成相应的功能. 函数调用关系图 FFmpeg HEVC解析器(Parser)部分在整个HEVC解码器中的

x264源代码简单分析:熵编码(Entropy Encoding)部分

本文记录x264的 x264_slice_write()函数中调用的x264_macroblock_write_cavlc()的源代码.x264_macroblock_write_cavlc()对应着x264中的熵编码模块.熵编码模块主要完成了编码数据输出的功能. 函数调用关系图 熵编码(Entropy Encoding)部分的源代码在整个x264中的位置如下图所示. 单击查看更清晰的图片 熵编码(Entropy Encoding)部分的函数调用关系如下图所示.   单击查看更清晰的图片 从图中

Collections中sort()方法源代码的简单分析

Collections的sort方法代码: public static <T> void sort(List<T> list, Comparator<? super T> c) { Object[] a = list.toArray(); Arrays.sort(a, (Comparator)c); ListIterator i = list.listIterator(); for (int j=0; j<a.length; j++) { i.next(); i.

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

===================================================== HEVC源代码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpeg的HEVC解码器源代码简单分析:概述 FFmpeg的HEVC解码器源代码简单分析:解析器(Parser)部分 FFmpeg的HEVC解码器源代码简单分析:解码器主干部分 FFmpeg的HEVC解码器源代码简单分析:CTU解码(CTU Decode)部分-PU FFmpeg的HEVC解码器源代码简单

x264源代码简单分析:滤波(Filter)

本文记录x264的x264_slice_write()函数中调用的x264_fdec_filter_row()的源代码.x264_fdec_filter_row()对应着x264中的滤波模块.滤波模块主要完成了下面3个方面的功能: (1)环路滤波(去块效应滤波)(2)半像素内插(3)视频质量指标PSNR和SSIM的计算 本文分别记录上述3个方面的源代码. 函数调用关系图 滤波(Filter)部分的源代码在整个x264中的位置如下图所示. 单击查看更清晰的图片 滤波(Filter)部分的函数调用关

关于数字证书理解的简单整理以及12306网站证书简单分析

首先简单理解一下什么是数字证书.这里是一篇英文文档,描述的很形象.形象的描述了什么是公钥,什么是私钥,如果确保数字证书的可靠性等. 下面,我们看一个应用"数字证书"的实例:https协议.这个协议主要用于网页加密. 一般我们电脑的浏览器中都有一些受信任的证书颁发机构列表, 里边存储的都是一些机构的信息.这些机构都是权威的.当然可以通过安装软件的方式,来增加证书颁发机构,比如中国银行的根证书软件,阿里巴巴的根证书软件.默认我们认为这些软件都是从官网下载的,是绝对的没被篡改的,可靠的.简单