iOS控件之UISegmentedControl

原创 2016年06月01日 12:56:35
分段控件UISegmentedControl

一,作用:分段控件,页面的切换等等


二,UISegmentedControlDemo

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    self.window.backgroundColor = [UIColor whiteColor];
    
//    NSArray *items = @[@"搜索", @"图片", @"视频", @"音乐"];
    NSArray *images = @[[UIImage imageNamed:@"segment_check"], [UIImage imageNamed:@"segment_search"], [UIImage imageNamed:@"segment_tools"]];
    UISegmentedControl *sc = [[UISegmentedControl alloc] initWithItems:images];
    sc.segmentedControlStyle = UISegmentedControlStylePlain;
    sc.frame = CGRectMake(60, 100, 200, 40);
    sc.selectedSegmentIndex = 1;
//    sc.tintColor = [UIColor redColor];
    [sc addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
    [self.window addSubview:sc];
    [sc release];
    
    [self.window makeKeyAndVisible];
    return YES;
}

- (void)change:(UISegmentedControl *)sc
{
    NSLog(@"sc : %d", sc.selectedSegmentIndex);
}




  1. #import "SegmentedControlTestViewController.h"  
  2. @implementation SegmentedControlTestViewController  
  3. @synthesize segmentedControl;  
  4.   
  5.   
  6. // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.  
  7. - (void)viewDidLoad {  
  8.     NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3",@"4",nil];  
  9.     //初始化UISegmentedControl  
  10.     UISegmentedControl *segmentedTemp = [[UISegmentedControl alloc]initWithItems:segmentedArray];  
  11.     segmentedControl = segmentedTemp;  
  12.     segmentedControl.frame = CGRectMake(60.0, 10.0, 200.0, 50.0);  
  13.       
  14.     [segmentedControl setTitle:@"two" forSegmentAtIndex:1];//设置指定索引的题目  
  15.     [segmentedControl setImage:[UIImage imageNamed:@"lan.png"] forSegmentAtIndex:3];//设置指定索引的图片  
  16.     [segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"mei.png"] atIndex:2 animated:NO];//在指定索引插入一个选项并设置图片  
  17.     [segmentedControl insertSegmentWithTitle:@"insert" atIndex:3 animated:NO];//在指定索引插入一个选项并设置题目  
  18.     [segmentedControl removeSegmentAtIndex:0 animated:NO];//移除指定索引的选项  
  19.     [segmentedControl setWidth:70.0 forSegmentAtIndex:2];//设置指定索引选项的宽度  
  20.     [segmentedControl setContentOffset:CGSizeMake(10.0,10.0) forSegmentAtIndex:1];//设置选项中图片等的左上角的位置  
  21.       
  22.     //获取指定索引选项的图片imageForSegmentAtIndex:  
  23.     UIImageView *imageForSegmentAtIndex = [[UIImageView alloc]initWithImage:[segmentedControl imageForSegmentAtIndex:1]];  
  24.     imageForSegmentAtIndex.frame = CGRectMake(60.0, 100.0, 30.0, 30.0);  
  25.       
  26.     //获取指定索引选项的标题titleForSegmentAtIndex  
  27.     UILabel *titleForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(100.0, 100.0, 30.0, 30.0)];  
  28.     titleForSegmentAtIndex.text = [segmentedControl titleForSegmentAtIndex:0];  
  29.       
  30.     //获取总选项数segmentedControl.numberOfSegments  
  31.     UILabel *numberOfSegments = [[UILabel alloc]initWithFrame:CGRectMake(140.0, 100.0, 30.0, 30.0)];  
  32.     numberOfSegments.text = [NSString stringWithFormat:@"%d",segmentedControl.numberOfSegments];  
  33.       
  34.     //获取指定索引选项的宽度widthForSegmentAtIndex:  
  35.     UILabel *widthForSegmentAtIndex = [[UILabel alloc]initWithFrame:CGRectMake(180.0, 100.0, 70.0, 30.0)];  
  36.     widthForSegmentAtIndex.text = [NSString stringWithFormat:@"%f",[segmentedControl widthForSegmentAtIndex:2]];  
  37.       
  38.     segmentedControl.selectedSegmentIndex = 2;//设置默认选择项索引  
  39.     segmentedControl.tintColor = [UIColor redColor];  
  40.     segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;//设置样式  
  41.     segmentedControl.momentary = YES;//设置在点击后是否恢复原样  
  42.       
  43.     [segmentedControl setEnabled:NO forSegmentAtIndex:4];//设置指定索引选项不可选  
  44.     BOOL enableFlag = [segmentedControl isEnabledForSegmentAtIndex:4];//判断指定索引选项是否可选  
  45.     NSLog(@"%d",enableFlag);  
  46.       
  47.     [self.view addSubview:widthForSegmentAtIndex];  
  48.     [self.view addSubview:numberOfSegments];  
  49.     [self.view addSubview:titleForSegmentAtIndex];  
  50.     [self.view addSubview:imageForSegmentAtIndex];  
  51.     [self.view addSubview:segmentedControl];  
  52.       
  53.     [widthForSegmentAtIndex release];  
  54.     [numberOfSegments release];  
  55.     [titleForSegmentAtIndex release];  
  56.     [segmentedTemp release];  
  57.     [imageForSegmentAtIndex release];  
  58.       
  59.     //移除所有选项  
  60.     //[segmentedControl removeAllSegments];  
  61.     [super viewDidLoad];  
  62. }  
  63.   
  64.   
  65. - (void)didReceiveMemoryWarning {  
  66.     // Releases the view if it doesn't have a superview.  
  67.     [super didReceiveMemoryWarning];  
  68.       
  69.     // Release any cached data, images, etc that aren't in use.  
  70. }  
  71. - (void)viewDidUnload {  
  72.     // Release any retained subviews of the main view.  
  73.     // e.g. self.myOutlet = nil;  
  74. }  
  75.   
  76. - (void)dealloc {  
  77.     [segmentedControl release];  
  78.     [super dealloc];  
  79. }  
  80. @end

版权声明:本文为博主原创文章,未经博主允许不得转载。

[iOS学习]UISegmentControl的无边框形式如何设置

iOS中的分段选择控件UISegmentControl的设置,最终效果如上图。 代码如下://初始化一个UISegmentedControl控件test UISegmentedControl *tes...
  • Fantasy_Hy
  • Fantasy_Hy
  • 2016年01月13日 09:57
  • 3654

UISegmentedControl分段控制 跳转各界面

一、对于分段控件的三方插件有很多,个人在闲着的时候也就写了一个,适合初级的人员上手。 二、先谈一下思路: 整体的效果是 UISegmentedControl + UIView 做界面切换 创...
  • qq_16540651
  • qq_16540651
  • 2016年03月30日 14:03
  • 1921

UISegmentedControl分段控件使用详解

分段控件是我们常用的控件之一,今天把具体用法总结了下: 初始化UISegmentedControl     NSArray *segmentedArray = [[...
  • wakice
  • wakice
  • 2016年01月30日 22:37
  • 568

iOS 利用 UISegmentedControl在同一个控制器切换不同的tableView

先上效果图1:2: 类似于QQ顶部的消息、电话选择。原理比较简单:主要通过UISegmentedControl来控制两个tableView的显示来隐藏。直接上代码#import "LeaveList...
  • qq_30070947
  • qq_30070947
  • 2017年01月06日 16:15
  • 2550

UISegmentedControl 去掉圆角 去掉中间的分割线

最近做项目  需求如图   一个UISegmentedControl   没有圆角 没有中间线 先贴代码再分析一下 #import "ScanRecordController.h" @inter...
  • lixianyue1991
  • lixianyue1991
  • 2016年11月04日 11:44
  • 2916

iOS 导航条上添加UISegmentedControl,点击分类按钮,显示不同的ViewController

UISegmentedControl的使用最近项目中需要用到UISegmentedControl,在导航条上添加一个UISegmentedControl,点击不同的按钮,显示不同的ViewContro...
  • ycf03211230
  • ycf03211230
  • 2017年01月05日 17:47
  • 2292

iOS学习笔记—— UISegmentedControl 控件的简单使用

UISegmentedCont
  • u012628310
  • u012628310
  • 2014年07月24日 15:14
  • 496

UISegmentedControl分段控件使用

UISegmentedControl分段控件
  • tieshuxianrezhang
  • tieshuxianrezhang
  • 2016年07月19日 22:35
  • 863

iOS开发控件之UISegmentedControl:基本属性与自定义

一个UISegmentedControl对象
  • Wuleslie
  • Wuleslie
  • 2014年08月01日 14:07
  • 873

ios 分段控件 UISegmentedControl常用操作

分段控件是我们常用的控件之一,今天把具体用法总结了下:           1.初始化UISegmentedControl [plain] view plaincopy ...
  • yongzhouyang000
  • yongzhouyang000
  • 2014年03月24日 15:36
  • 333
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS控件之UISegmentedControl
举报原因:
原因补充:

(最多只允许输入30个字)