#pragma mark - 创建不同的分段器

//初始化方法:传入的数组可以是字符串也可以是UIImage对象的图片数组

UISegmentedControl *mysegmented = [[UISegmentedControl alloc] initWithItems:@[@"左边",@"我是中间",@"右边"]];

mysegmented.frame = CGRectMake(50, 200, kScreenWidth-100, 40);

[self.view addSubview: mysegmented];

//第二种创建方式

UISegmentedControl *mysegmented2 = [[UISegmentedControl alloc] initWithFrame:CGRectMake(100, 200, 300, 40)];

//animated为NO即表示不是即时修改,等点击事件结束后再响应

[mysegmented2 insertSegmentWithTitle:@"聊天" atIndex:1 animated:YES];

[mysegmented2 insertSegmentWithTitle:@"通话" atIndex:0 animated:YES];

//    [self.view addSubview:mysegmented2];

//创建一个图片数组,用图片来作为分段器的元素

NSArray *imageArray = @[[UIImage imageNamed: @"prev"],[UIImage imageNamed: @"next"]];

UISegmentedControl *yoursegmented = [[UISegmentedControl alloc] initWithItems:imageArray];

yoursegmented.frame = CGRectMake(100, 450, kScreenWidth-200, 65);

[self.view addSubview: yoursegmented];

#pragma mark - 重设标签标题和获取标签标题

[mysegmented setTitle: @"我是修改过的标签" forSegmentAtIndex:1];

NSString *titleString = [mysegmented titleForSegmentAtIndex: 1];

NSLog(@"%@", titleString);

//也可以重新设置图片标签和获取标签图片

//- (void)setImage:(UIImage *)image forSegmentAtIndex:(NSUInteger)segment;

//- (UIImage *)imageForSegmentAtIndex:(NSUInteger)segment;

/* 以下是在ios开发中,对segmentedControl控件的一些属性的用法解析,只能用手机查看不能自己运行的也没有关系,以下内容是带图片的。*/

#pragma mark - 设置标签的颜色(默认为blue)以及图片

//背景颜色

mysegmented.backgroundColor = [UIColor greenColor];

//文字的颜色,边框的颜色,以及选中的标签的颜色

mysegmented.tintColor = [UIColor redColor];

//设置标签的背景图片,还可以获取分段器的背景图片

//[mysegmented setBackgroundImage:[UIImage imageNamed:@"prev"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

//(设置的是整个分段器的背景图片),UIBarMetrics是一个枚举,default默认背景图片充满整个分段器

#pragma mark - 设置分段器的分割线的图片(同样的,也可以获取图片)

// - (void)setDividerImage:(UIImage *)dividerImage forLeftSegmentState:(UIControlState)leftState rightSegmentState:(UIControlState)rightState barMetrics:(UIBarMetrics)barMetrics

#pragma mark - 选中状态(若不指定下标,那么根据创建的items顺序,下标从0开始增长)

mysegmented.selectedSegmentIndex = 0;

yoursegmented.selectedSegmentIndex = 1;

#pragma mark - numberOfSegments,获取标签的个数,只读的

NSInteger i = mysegmented.numberOfSegments;

NSLog(@"一共有%ld个标签",i);

#pragma mark - 设置标签宽度是否随内容自适应(设置为NO则表示所有标签宽度一致为最大的宽度)

mysegmented.apportionsSegmentWidthsByContent = NO;

#pragma mark - 插入文字标签或图片在index位置

[mysegmented insertSegmentWithTitle: @"我是插入的标签" atIndex:2 animated:YES];

[yoursegmented insertSegmentWithImage: [UIImage imageNamed: @"next"] atIndex:0 animated:YES];

#pragma mark - 根据索引删除标签或删除所有标签

[mysegmented removeSegmentAtIndex: 1 animated: YES];

//[mysegmented removeSegmentAtIndex: 1 animated: NO];

//删除所有标签 [mysegmented removeAllSegments];

#pragma mark - 根据索引设置相应标签宽度和获取标签宽度

//若setWidth设置为0.0,则默认为自适应宽度

[yoursegmented setWidth: 50.0 forSegmentAtIndex:0];

//获取标签宽度

//- (CGFloat)widthForSegmentAtIndex:(NSUInteger)segment;

#pragma mark - 设置标签内容的偏移量和获取偏移量

[mysegmented setContentOffset: CGSizeMake(20.0, 0) forSegmentAtIndex:0];

//获取偏移量

//- (CGSize)contentOffsetForSegmentAtIndex:(NSUInteger)segment;

#pragma mark - 根据索引设置标签是否有效(默认有效)和获取是否有效

//- (void)setEnabled:(BOOL)enabled forSegmentAtIndex:(NSUInteger)segment;

//- (BOOL)isEnabledForSegmentAtIndex:(NSUInteger)segment;

#pragma mark - 点击事件(可以带参数)

[mysegmented addTarget:self action:@selector(segmentedAction) forControlEvents:UIControlEventValueChanged];

//这里需创建另外的视图控制器进行演示

}

//点击事件

- (void) segmentedAction{

FirstViewController *firstVC = [[FirstViewController alloc] init];

[self.view addSubview:firstVC.view];

//从父视图上移除 [_firstVC.view removeFromSuperview];

}

/*

以上是我自己总结的分段器控件的一些基本属性,剪掉图片,以上代码可以直接复制粘贴到自己的工程中运行,可自行查看和修改结果。对以上有异议或者想和我一起讨论的,可以加我的qq 78928861,大家一起讨论,一起学习。

*/

IOS的segmentedControl(分段器控件)的一些常用属性的更多相关文章

  1. DEV控件:gridControl常用属性设置(转载)

    特别长,先撸下来再说 1.隐藏最上面的GroupPanel  gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值  sValue=T ...

  2. DEV控件:gridControl常用属性设置

    1.隐藏最上面的GroupPanel  gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值  sValue=Table.Rows[g ...

  3. 【IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )

    转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/50163725 一. 分段控件 (UISegmentedControl) 控件展 ...

  4. ios开发中关闭textview控件的虚拟键盘

    在ios开发中,textfield控件在点击的时候出现虚拟键盘,关掉虚拟键盘可以通过虚拟键盘中的done button和点击view中的任意地方来关闭虚拟键盘. 1.第一种方法是textfield控件 ...

  5. iOS开发UI篇—UIScrollView控件实现图片缩放功能

    iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...

  6. iOS开发UI篇—UIScrollView控件介绍

    iOS开发UI篇—UIScrollView控件介绍 一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限 ...

  7. iOS开发UI篇—UITableview控件简单介绍

    iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...

  8. iOS开发UI篇—UITableview控件基本使用

    iOS开发UI篇—UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) #import <Foundation/Foundation.h> ...

  9. iOS开发UI篇—UITableview控件使用小结

    iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...

随机推荐

  1. 常用的各种标准下载网站(HB GB GJB MH)

    标准分享网 http://www.bzfxw.com/ 标准下载网 http://www.bzxz.net/ 搜标准网   http://www.biaozhunw.com/Index.html 标准 ...

  2. hdu 1597 find the nth digit

    find the nth digit Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  3. [Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域

    A. 命令行编译和XCode编译 1.在存在多个.m源码实现文件的情况下,若根据需要引入.m文件,使用命令行仅仅编译主.m文件即可,但是XCode会同时编译全部.m文件,会发生编译错误(重复定义全局变 ...

  4. js使用技巧大全

    1.防止重新构建 var constructedHtml = ""; for(var i = 0,len = arr.length;i < len;i++){ constru ...

  5. ISE和Modelsim联合仿真(转)

    相信很多人会遇到过这个问题,不知如何让ISE调用Modelsim进行仿真.我也迷糊了不少时间,查查找找,终于弄明白了,所以有了本文,和大家分享一下.我尽量讲得详细点儿,多多上图. 我的环境:Windo ...

  6. SVG 矢量图形格式

    SVG(Scalable Vector Graphics)是基于 XML 的一种矢量图形格式,它即可以作为单独的图形文件使用也可以嵌入到网页中并由 JavaScript 来操作,非常方便和灵活.SVG ...

  7. Spring Framework 5.0.0.M3中文文档 翻译记录 Part I. Spring框架概览1-2.2

    Part I. Spring框架概览 The Spring Framework is a lightweight solution and a potential one-stop-shop for ...

  8. 【36】绝不重新定义继承而来的non-virtual方法

    1.绝不重新定义继承而来的non-virtual方法,为什么? 首先想想,non-virtual方法是干什么的?也就是说,它的使用场景.父类的non-virtual方法,其实就是告诉子类,继承实现,子 ...

  9. MVC4网站发布到windows server 2003服务器

    在windows server 2003上部署MVC4的网站,需要进行以下工作 用VS2013新建项目 在创建项目的时候选择的矿建为.NET Framework4,然后选择[ASP.NET MVC4 ...

  10. C#_delegate和事件 - 如果金额小于0则触发事件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...