UISegmentedControl的具体使用

当用户输入不不过布尔值时。可使用分段控件(UISegmentedControl)。分段控件提供一栏button(有时称为button栏),但只能激活当中一个button。

分段控件会导致用户在屏幕上看到的内容发生变化。

它们经常使用于在不同类别的信息之间选择,或在不同的应用屏幕之间切换。

以下介绍基本属性和基本方法的使用。

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

时间: 2024-11-06 02:12:04

UISegmentedControl的具体使用的相关文章

UISegmentedControl的常用属性和用法

1.UISegmentControl 1)先创建一个数组用来存放标题 NSArray *array = @[@"1",@"2",@"3",nil]; UISegmentedControl *segmented = [[UISegmentedControl alloc] initWithItems:array]; [segmented insertSegmentWithTitle:@"3" atIndex:3 animated:

iOS UISegmentedControl的例子

#import <UIKit/UIKit.h> @interface ViewController : UIViewController @property(strong,nonatomic) UIImageView *MyImage; @property(strong,nonatomic) UITextView *MyView; @property(strong,nonatomic) UISegmentedControl *MySegment; #import "ViewContr

第三篇 - UISegmentedControl

// 创建控件(他同样是透明的) UISegmentedControl *seg = [[UISegmentedControl alloc] initWithItems:@[@"1",@"1",@"1",@"1"]]; //typedef NS_ENUM(NSInteger, UISegmentedControlStyle) { // UISegmentedControlStylePlain, // large plain /

UI控件(UISegmentedControl)

@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSArray* segmentArray = [[NSArray alloc]initWithObjects:@"Title1", @"Title2", @"Title3",nil]; //也可以通过insertSegmentWithtitile方法添加选项 //也可以对某个选项选择添加图片 UIS

ios中常见的几种控件.(UISlider,UISwitch,UIStepper,UISegmentedControl)

一.滑块控件(UISlider)  效果如下 注:系统原来效果如下 具体功能运用: ①创建滑块控件(UISlider),设置控件大小,并添加到window视图上,后释放 UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(20, 30, 280, 100)]; [self.window addSubview:slider];  [slider release]; ②设置最大值,最小值,以及开始时滑动条所在的位置 //设置最大

UISwitch(开关控件)、UISegmentedControl(分段控件)

一.UISwitch 1.初始化 UISwitch *s1 = [[UISwitch alloc]initWithFrame:CGRectMake(50, 170, 100, 200)]; 2.设置相关属性 s1.onTintColor = [UIColor blueColor]; s1.tintColor = [UIColor greenColor]; s1.thumbTintColor = [UIColor redColor]; 3.设置开关状态 s1.on = YES; 4.添加事件 [s

iOS中的分段控件(UISegmentedControl)和滑块控件(UISlider)

#import "RootViewController.h" @interface RootViewController () @end @implementation RootViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //分段控件 //1.创建控件 /* NSArray *items = @[@"轻拍

UISegmentedControl的基本用法

@UISegmentedControl类似于UIButton,它可以提供多个选择操作,响应事件,但具有很大的局限性,我们更多的是使用自定义的,不过在这里还是介绍下它的基本用法. NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"1",@"2",@"3",@"4",nil]; //初始化UISegmentedControl UISegmentedControl

UISegmentedControl的详细使用

当用户输入不仅仅是布尔值时,可使用分段控件(UISegmentedControl).分段控件提供一栏按钮(有时称为按钮栏),但只能激活其中一个按钮.分段控件会导致用户在屏幕上看到的内容发生变化.它们常用于在不同类别的信息之间选择,或在不同的应用屏幕之间切换.下面介绍基本属性和基本方法的使用. NSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"1",@"2",@"3",@"