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:];//设置指定索引的图片
// 在指定索引插入一个选项并设置图片
[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

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. Nand 的几个名词:oob,bbt,ecc

    转:http://blog.csdn.net/lanmanck/article/details/4230904 例如Samsung K9F1208U0B,数据存储容量为64MB,采用块页式存储管理.8 ...

  2. source insight研究——快捷键篇

    转:http://blog.csdn.net/ison81/article/details/3510426 关于键盘和鼠标谁更快捷之争,是一个永远被程序员争论的话题.我想大多数人都不会极端的信奉一种操 ...

  3. 【spring Boot】Spring中@Controller和@RestController之间的区别

    spring Boot入手的第一天,看到例子中的@RestController ............. 相同点:都是用来表示Spring某个类的是否可以接收HTTP请求 不同点:@Controll ...

  4. ES6里关于函数的拓展(一)

    一.形参默认值 Javascript函数有一个特别的地方,无论在函数定义中声明了多少形参,都可以传入任意数量的参数,也可以在定义函数时添加针对参数数量的处理逻辑,当已定义的形参无对应的传入参数时为其指 ...

  5. linux获取后台进程的控制台数据

    linux提供了一个daemon函数,使得进程能够脱离控制台执行,实现了后台执行的效果.可是进程后台执行后,原本在终端控制台输出的数据就看不到了. 那么,如何才干找回这些数据? 这里.文章主题就环绕着 ...

  6. JDBC性能优化方案

       最近用到了利用JDBC查询Oracle数据库.可是查询效率不尽人意.研究了一下JDBC方面能够优化的地方,在这里跟大家分享一下.   1.设置最优的预取值         defaultRowP ...

  7. <<= 什么意思?|=什么意思?

    <<= 什么意思?|=什么意思?   x <<= 2; // x = x << 2; y |= 8; // y = y | 8;   这些都是被缩写了!位运算-- ...

  8. 基于SpringMVC+Ext.js的权限管理系统(无权限框架)

    代码地址如下:http://www.demodashi.com/demo/12811.html 0.准备工作 注意!!! 本案例数据库相关请下载例子包,内有数据库脚本.EXCEL数据表和详细的设计文档 ...

  9. 操作LOG文件-删除log目录下,所有的空文件-删除5天前的文件

    # 1.logs目录下,有一部分文件是空的# 1.删除log目录下,所有的空文件# 2.删除5天前的文件 # 需求分析:# 1.os.walk()获取到所在以.log结尾的文件# 2.判断文件的大小, ...

  10. 让UITableView进入编辑模式

    1.UITableView对象有一个editing属性,设为YES时,该对象会进入编辑模式(editing mode).表格视图进入编辑模式后,用户可以管理表格中得行,如改变行的排列顺序.增加行或删除 ...