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

UISegmentedControl的更多相关文章

  1. iOS在导航栏上居中显示分段控件(UISegmentedControl)

    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:nil]; segmentedCont ...

  2. 【UISegmentedControl】-  分段控件

    一.初始化 二.常见的属性 1.segmentedControlStyle属性:设置基本的样式 2.momentary属性:设置在点击后是否恢复原样 . 3.numberOfSegments属性:只读 ...

  3. UI控件(UISegmentedControl)

    @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSArray* segmentArray = [[ ...

  4. UI第八节——UISegmentedControl

    - (void)viewDidLoad {    [super viewDidLoad];    NSArray *items = @[@"消息", @"电话" ...

  5. UISegmentedControl 的使用

    /** 设置选择器 */ - (void)setUpSegmentCtr { UISegmentedControl *segmentCtr = [[UISegmentedControl alloc] ...

  6. UISegmentedControl和UIStepper的使用

    UISegmentedControl:分栏控件,常用的属性和方法是 1.tintColor:控制分栏控件的颜色风格 2.insertSegmentWithTitle(Image):插入分栏标题(图片) ...

  7. UISegmentedControl 控件

    一.创建 UISegmentedControl* mySegmentedControl = [[UISegmentedControl alloc]initWithItems:nil]; 是不是很奇怪没 ...

  8. UI中一些不常用的控件UIActivityIndicatorView、UIProgressView、UISegmentedControl、UIStepper、UISwitch、UITextView、UIAlertController

    //UIActivityIndicatorView //小菊花,加载 #import "ActivityIndicatorVC.h" @interface ActivityIndi ...

  9. UISegmentedControl(人物简介)

    效果图 当你点击上面人物名字的时候 ,就可以随意切换人物. 这个很有趣 , 你还可以试着添加音乐播放器 .以及一些别的来完善你想做的. 好吧 , 废话不多说 , 上代码. #import " ...

  10. UILabel UISwitch UISegmentedControl UIAlertView

    基础小控件 /***************************************UIlabel*************************************/ UILabel ...

随机推荐

  1. hiho #1361 Playfair密码表

    题目1 : Playfair密码表 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho经常用Playfair密码表加密自己的代码. 密码表是按以下步骤生成的. ...

  2. php处理数据库数据,每处理一个数据返回客户端显示当前状态的方法。

    php处理大量数据,每处理一个数据返回客户端显示当前状态的方法. 类似于dedecms生成静态页 想法: 客户端发送请求 服务器端接受请求,开始统计所需处理的数据量 将所需处理数据按一定规则排列,发送 ...

  3. Tomcat配置文件server.xml详解

    <?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOW ...

  4. 转:理解Cookie和Session机制

    原文: 理解Cookie和Session机制 摘要: Cookie工作原理 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份.怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论 ...

  5. Ubuntu16.04/centos7 下为chrome/firefox安装flash player插件

    为chrome安装flash: 打开终端,输入:sudo apt-get install pepperflashplugin-nonfree 或官网下载安装google-chrome-stable 为 ...

  6. 转帖:用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树

    用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树 这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托 ...

  7. SHAREPOINT - CAML列表查询

    首先要了解的是CAML(Collaboration Application Markup Language)不仅仅是用在对列表.文档库的查询,字段的定义,站点定义等处处使用的都是CAML. 简单的提一 ...

  8. 【leetcode】Surrounded Regions

    Surrounded Regions Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A ...

  9. C# 读写ini文件

    1.添加引用 using System.IO; using System.Runtime.InteropServices; 2.声明API函数 #region API函数声明 [DllImport(& ...

  10. RRD

    http://my.oschina.net/u/1458120/blog/208857