一、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. dedecms代码研究三

    上次,我们从dedecms的index.PHP文件中了解到了很多信息,也提出了一些问题: 1)加载了/include/common.inc.php,里面做了哪些工作? 2)/include/arc.p ...

  2. Java之重载与覆盖

    有的时候,类的同一种功能有多种实现方式,到底采用哪种实现方式,取决于调用者给定的参数.例如我们最常用的System.out.println()能够打印出任何数据类型的数据,它有多种实现方式.运行时,J ...

  3. pgadmin中的备份功能消失的原因和找回方法

    pgadmin在正常情况下,在左侧的[对象浏览器]中选中数据库.模式或者表时,右键会出现[备份]和[恢复]的选项(除早期不支持该功能的版本外). 如: 当然,有时候有人会发现,当你想要用这些备份还原功 ...

  4. vagrant系列教程(四):vagrant搭建redis与redis的监控程序redis-stat(转)

    上一篇php7环境的搭建 真是火爆,仅仅两天时间,就破了我之前swagger系列的一片文章,看来,大家对搭建环境真是情有独钟. 为了访问量,我今天再来一篇Redis的搭建.当然不能仅仅是redis的搭 ...

  5. MySQL_关于用嵌套表计算的可以不用 20161205

    计算求和类的指标,其实用不到嵌套表,比如计算各城市产品分类的订单额. 如果要计算不重复的指标 比如一个用户一天下了多个订单 用这样的表计算一天有多少用户下单 这个用户肯定是去重的 下多个订单也应该视为 ...

  6. Linux搭建smtp服务器+laravel5.2发邮件配置

    /** * 这里主要是想通过自己搭建smtp服务器,配置laravel5.2框架,实现邮箱发邮件功能, * 主要内容是搭建smtp服务器,laravel5.2发邮件顺手提一下 */ /** * 1.l ...

  7. 转载:mysql ODBC 在64位下提示找不到odbc驱动问题

    在64位机器上,如果你想要连接32位mysql ,一般会安装mysql connector/ODBC 64位,并在配置ODBC数据源测试中连接正常,但在程序连接,如ASP.asp.net.VB.Del ...

  8. Oracle环境变量NLS_LANG

    常见的值可以参见Oracle Database Client Globalization Support

  9. 【python】密码生成器

    #!/usr/bin/env python#-*- coding:UTF-8 -*- import random   #导入random模块import string  #导入string模块 sal ...

  10. Spring MVC 文件上传

    1.form的enctype=”multipart/form-data” 这个是上传文件必须的 2.applicationContext.xml中 <bean id=”multipartReso ...