一、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. 使用jquery获取url以及jquery获取url参数的方法

    使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下 1.window.location.href; 其实只是用到了javas ...

  2. python序列化: json & pickle & shelve 模块

    一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...

  3. dedecms代码研究六

    今天讲的是dedecms最关键的东西,模板分析啦.也就是dedetag.class.php 里面的ParseTemplet方法 模板解析方法 先看看一个dedecms标签,大家心里有个数: {dede ...

  4. MVC 自定义IModelBinder实现json参数转Dictionary<string, string>

    IModelBinder的学习不算深入,现在用它来实现一个json转Dictionary<string, string> 一.原始json转Dictionary<string, st ...

  5. boost compile

    pushd E:\boost\boost_1_59_0 b2 stage --toolset=msvc-12.0 --without-python --stagedir="E:\boost\ ...

  6. Android IOS WebRTC 音视频开发总结(六九)-- qq视频通话都是p2p,我们还怕啥?

    本文主要介绍在线教育这个行业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help 先简单介绍什么是p2p? p是peer ...

  7. Hibernate框架概念

    1.Hibernate是ORM框架,完成对象的持久化操作. 2.允许开发者采用面向对象的方式来操作数据库. 3.安装Hibernate的插件到Eclipse中来自动生成配置文件. 4.Hibernat ...

  8. PHP中,文件上传实例

    PHP中,文件上传一般是通过move_uploaded_file()来实现的.  bool move_uploaded_file ( string filename, string destinati ...

  9. 把svn上的mycelipse导到本地的eclipse中

    myeclipse和eclipse的web项目互导时会产生各种问题,现在把我遇到的情况记录如下: eclipse如何把svn上down下来的myeclipseWeb项目变成eclipse的Web项目: ...

  10. jQuery的append和appendTo

    这两个关键词,Insus.NET刚开始学习jQuery时,也被它弄得不好理解.现用得多了,运行与理解也不难了. 查了英文词典append的意思是“添加,附加”: 而后者appendTo意思是“ 添加至 ...