一、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、添加事件
    [s1 addTarget:self action:@selector(myswitch) forControlEvents:UIControlEventValueChanged];
   
    [s1 addTarget:self action:@selector(myswitch:) forControlEvents:UIControlEventValueChanged];
 
5、加入父视图
 
 [self.view addSubview:s1];
 
添加事件的方法
 
  -(void)myswitch{
    NSLog(@"触发了改方法");
}
-(void)myswitch:(UISwitch *)s{
    UISwitch *s2 = (UISwitch *)[self.view viewWithTag:1];
    NSLog(@"%d",s.isOn);
    NSLog(@"%d",s2.isOn);
}
 
 
二、UISegmentedControl
1、初始化
(1)方式1
UISegmentedControl *seg  =[[UISegmentedControl alloc] initWithFrame:CGRectMake(30, 100, 200, 40)];//创建时初始化大小,但是不设置每段的参数
(2)方式2
UISegmentedControl *seg1 = [[UISegmentedControl alloc] initWithItems:@[@"1",@"2",@"3"]];//初始化时直接给出初始的段数及title
2、设置相关属性
(1)[seg setTitle:@"我的" forSegmentAtIndex:0];//设置某一段的标题文字
 
(2)[seg setImage:[UIImage imageNamed:@"lanzuan"] forSegmentAtIndex:0];//设置某一分段的image,注意title和image二者只能存在一个
 
(3)[seg insertSegmentWithTitle:@"2" atIndex:0 animated:NO];//在下标为0的位置插入一个标题为2的分段,注意下标的合理性
 
(4)[seg insertSegmentWithImage:[UIImage imageNamed:@"1.png"] atIndex:0 animated:NO];//在下标为0的位置插入一个分段,设置其图片
 
(5)seg.tintColor = [UIColor whiteColor];//设置segment的边框颜色及文字/图片颜色
 
(6)[seg removeSegmentAtIndex:0 animated:YES];//移除某一分段
 
(7)[seg removeAllSegments];//移除所有的分段
 
(8)seg.numberOfSegments; //移除某一分段
 
(9)seg.selectedSegmentIndex = 0;//默认选中第几个选段
 
(10)NSString *str = [seg titleForSegmentAtIndex:0];//获取某一段的title
 
(11)UIImage  *image = [seg imageForSegmentAtIndex:0];//获取某一段的图片
 
(12)[seg setWidth:30 forSegmentAtIndex:0];//设置某一段的宽度
 
(13)[seg setBackgroundImage:[UIImage imageNamed:@"imsend"] forState: UIControlStateNormal barMetrics: UIBarMetricsDefault];//设置常态下的背景图
 
(14)[seg setBackgroundImage:[UIImage imageNamed:@"logoin_6"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];//设置选中的背景图
 
(15)[seg addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];//绑定监听事件
 
 
 
UISegmentedControl *segment1 = [[UISegmentedControlalloc]initWithItems:@[@"你好",@"欢迎",@"加入"]];//初始化时直接给出初始的段数及title
    segment1.frame = CGRectMake(90, 240, 200, 50);//初始化大小
  
    [segment1 insertSegmentWithImage:[UIImage imageNamed:@"3.jpg"] atIndex:1 animated:YES];//插入图片并允许动画
   
     NSLog(@"段数:%zi",segment1.numberOfSegments);//获取段数
    [segment1 setTitle:@"我们" forSegmentAtIndex:0];
    NSString *str = [segment1 titleForSegmentAtIndex:1];//获取图片标题,注意图片中插入的位置要对应起来
   
    NSLog(@"图片标题=%@",str);
    UIImage *image = [segment1 imageForSegmentAtIndex:1];
    NSLog(@"图片=%@",image);
   
    //[segment1 setWidth:100 forSegmentAtIndex:0];//设置某段的宽
    //[segment1 setEnabled:NO forSegmentAtIndex:0];//设置某一段是否被激活
    //[segment1 setEnabled:NO];//整体不被激活
   
    segment1.selectedSegmentIndex = 1;//设置默认选中项
    NSLog(@"%zi",segment1.selectedSegmentIndex);//获取当前被选中的段
    segment1.tintColor = [UIColor greenColor];//边框和选中颜色
    [segment1 setBackgroundImage:[UIImage imageNamed:@"3"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    // UIControlStateNormal、UIBarMetricsDefault 设置成默认的就好
    [segment1 addTarget:self action:@selector(segmentchange) forControlEvents:UIControlEventValueChanged];
 
//触发事件
-(void)segmentchange{
    NSLog(@"分段被点击");
}
   
    [self.view addSubview:segment1];
 
   
    UISegmentedControl *s = [[UISegmentedControl alloc]initWithFrame:CGRectMake(50, 400, 100, 50)];
    [s insertSegmentWithTitle:@"分段" atIndex:3 animated:YES];
    [s insertSegmentWithTitle:@"函数" atIndex:0 animated:YES];//增加
    //[s removeSegmentAtIndex:0 animated:YES];//移除
    [self.view addSubview:s];
   

UISwitch(开关控件)、UISegmentedControl(分段控件)的更多相关文章

  1. iOS系列 基础篇 09 开关、滑块和分段控件

    iOS系列 基础篇 09 开关.滑块和分段控件 目录: 案例说明 开关控件Switch 滑块控件Slider 分段控件Segmented Control 1. 案例说明 开关控件(Switch).滑块 ...

  2. UISegmentedControl——分段控件

    分段控件,提供了一组按钮,但是只能激活一个.通过UIControlEventValueChanged事件实现与用户的交互,并通过selectedSegmentIndex判断当前选定的控件,通过titl ...

  3. ios 初体验< UISegmentedControl 分段控件>

     小知识:  数组快速创建 @[@"",@"",@"",@"".......],字典快速创建方法:@{@"&q ...

  4. 【UISegmentedControl】-  分段控件

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

  5. 使用开关、分段控件和web视图

    #import "XViewController.h" @interface XViewController () @end @implementation XViewContro ...

  6. iOS:分段控件UISegmentedControl的详细使用

    分段控件:UISegmentedControl   功能:分段的控制.页面的切换等.   介绍:当用户输入不仅仅是布尔值时,可使用分段控件(UISegmentedControl).分段控件提供一栏按钮 ...

  7. iOS开发基础控件--UISegmentedControl

    UISegmentedControl全局外观设置 分段控件是我们常用的控件之一,今天把具体用法总结了下: 1.初始化UISegmentedControl [plain] view plaincopy ...

  8. [Swift通天遁地]九、拔剑吧-(4)使用开源类库创建可滑动的Segment分段控件

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等

    本篇博客主要对 HslControls 组件做一个大概的总览介绍,更详细的内容可以参照页面里的子链接,还有github上的源代码,然后进行相关的学习,和使用. Prepare 先从nuget下载到组件 ...

  10. WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日

    好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3       0 0     用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...

随机推荐

  1. host DNS 访问规则

    昨天站点一直出现302循环重定向问题,捣鼓了半天才解决,原来是hosts和dns配置问题. 注:当你的站点出现循环重定向时,首先应该关注的hosts以及dns配置,确保无误. 下面记录下相关知识点: ...

  2. php把错误日志输入到文件里。

    display_errors = On 开启状态下,若出现错误,则报错,出现错误提示 dispaly_errors = Off 关闭状态下,若出现错误,则提示:服务器错误.但是不会出现错误提示 log ...

  3. rsync无密码实时增量同步

    rsync -azvP /rsync/ --password-file=/etc/rsyncd/rsyncd.password  ruiy@192.168.11.199:/rsync/ rsync - ...

  4. java学习第9天

    形式参数和返回值的问题 (1)形式参数: 类名:需要该类的对象 抽象类名:需要该类的子类对象 接口名:需要该接口的实现类对象 (2)返回值类型: 类名:返回的是该类的对象 抽象类名:返回的是该类的子类 ...

  5. MyBatis关联查询,表字段相同,resultMap映射问题的解决办法

    问题描述:在使用mybatis进行多表联合查询时,如果两张表中的字段名称形同,会出现无法正常映射的问题. 问题解决办法:在查询时,给重复的字段 起别名,然后在resultMap中使用别名进行映射. 给 ...

  6. php 解决json_encode中文UNICODE转码问题

    用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式,如果想汉字不进行转码,这里提供三种方法 1.升级PHP,在PHP5. ...

  7. 使用__slots__

    [使用__slots__] 参考: 1.http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a0 ...

  8. MC java 远程调试 plugin 开发

    @ECHO OFF SET CATALINA_OPTS= -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,se ...

  9. Ruby-调用windows窗体

    发现SharpDevelop 也支持Ruby ,特别是可以直接把winform的控件直接用在 require "mscorlib" require "System.Win ...

  10. 【BZOJ3504】危桥(最大流)

    题意:见题面 思路:http://www.cnblogs.com/chenyushuo/p/5139556.html 必须交换b1,b2做第二次最大流的原因: 假如一个a1到b2的一个流和b1到a2的 ...