UISegmentedControl的详细使用
来源:互联网 发布:算法分析 概述 ppt 编辑:程序博客网 时间:2024/05/16 10:44
当用户输入不仅仅是布尔值时,可使用分段控件(UISegmentedControl)。分段控件提供一栏按钮(有时称为按钮栏),但只能激活其中一个按钮。分段控件会导致用户在屏幕上看到的内容发生变化。它们常用于在不同类别的信息之间选择,或在不同的应用屏幕之间切换。下面介绍基本属性和基本方法的使用。
NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@”1”,@”2”,@”3”,@”4”,nil];
//初始化UISegmentedControl UISegmentedControl *segmentedControl = [[UISegmentedControlalloc]initWithItems:segmentedArray]; segmentedControl.frame = CGRectMake(20.0, 20.0, 250.0, 50.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(segmentAction:)forControlEvents:UIControlEventValueChanged]; //添加委托方法
//具体委托方法实例
-(void)segmentAction:(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; case 4: [self selectmyView5]; break; case 5: [self selectmyView6]; break; default: break;}
}
基本属性、方法如上,大家在实际开发中可根据实际需求选取适当属性和方法。
使用技巧:
在导航栏中添加UISegmentedControl ,实现的效果:
实现的代码:
//自定义UISegmentedcontrol
UISegmentedControl *segmentedControl=[[UISegmentedControl alloc] initWithFrame:CGRectMake(80.0f, 8.0f, 200.0f, 30.0f) ];
[segmentedControl insertSegmentWithTitle:@”Food to eat” atIndex:0 animated:YES];
[segmentedControl insertSegmentWithTitle:@”Food to avoid” atIndex:1 animated:YES];
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.momentary = YES;
segmentedControl.multipleTouchEnabled=NO;
[segmentedControl addTarget:self action:@selector(Selectbutton:) forControlEvents:UIControlEventValueChanged];
UIBarButtonItem *segButton = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl]; //自定义UIBarButtonItem,封装定义好的UIsegmented。
[segmentedControl release];
self.navigationItem.rightBarButtonItem = segButton; //添加到导航栏中
[segButton release];
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- UISegmentedControl的详细使用
- iOS开发笔记之NSFileManager的使用
- J2SE_数组学习笔记
- Linux内核最新的连续内存分配器(CMA)——避免预留大块内存
- Java第一周:1.5
- BestCoder Round #54 (div.2) HDOJ 5427 A problem of sorting(模拟)
- UISegmentedControl的详细使用
- CCLabelAtlas,CCLabelTextFormatter解析
- 【各种系列教程】fms p2p视频教程 第二节FMS通信
- 自学QT之字体选择对话框
- 位运算
- hdu 5428 The Factor(唯一分解定理)
- OGRE渲染过程
- error: allocating an object of abstract class type
- HDU1045 - Fire Net (深搜)