IOS UISwitch 控件
转自:http://my.oschina.net/wolx/blog/396680
一 UISwitch 简介
UISwitch 的作用是给用户提供开关,在系统的设置界面很常见,控件也很简单。
二 UISwitch 创建
//创建
UISwitch *switch1 = [[UISwitch alloc]init];
CGSize viewSize = self.view.bounds.size;
switch1.frame = CGRectMake(viewSize.height*0.2, 150, 0, 0);
//使用 initWithFrame 方法初始化开关控件。
CGRect rect = CGRectMake(viewSize.height*0.2, 250, 0, 0);
UISwitch *switch2 = [[UISwitch alloc]initWithFrame:rect];
三设置选中状态
@property(nonatomic,getter=isOn) BOOL on;
on 属性用于控制开关状态,如果设置为YES 则表示开启,如果为NO 则表示关闭,可以通过isOn 方来判断
//1 设置开关状态
//1.1 setOn 方法
[switch1 setOn:YES];
//1.2 setOn:animated:方法。Animated 参数是布尔类型,若值为 YES 开关改变状态时会显 示动画
[switch2 setOn:YES animated:YES]
//2 判断状态
if ([switch1 isOn]){
NSLog(@"The switch is on.");
} else {
NSLog(@"The switch is off.");
}
四 添加监听
如果要在开关控件被打开或关闭时得到通知信息,可用利用 UISwitch 的addTarget:action:forControlEvents:方法加上开关的 target。
// 1. 添加监听
[switch1 addTarget:self action:@selector(switchIsChanged:) forControlEvents:UIControlEventValueChanged];
// 2.事件发生后执行的方法
/**
* switchIsChanged 方法,用于监听UISwitch控件的值改变
*
* @param swith swith 控件
*/
-(void)switchIsChanged:(UISwitch *)swith
{
if ([swith isOn]){
NSLog(@"The switch is on.");
} else {
NSLog(@"The switch is off.");
}
}
五 测试代码
5.1 代码
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//1.创建
UISwitch *switch1 = [[UISwitch alloc]init];
CGSize viewSize = self.view.bounds.size;
switch1.frame = CGRectMake(viewSize.height*0.2, 150, 0, 0);
//1.1使用 initWithFrame 方法初始化开关控件。
CGRect rect = CGRectMake(viewSize.height*0.2, 250, 0, 0);
UISwitch *switch2 = [[UISwitch alloc]initWithFrame:rect];
//2 设置默认选中
//@property(nonatomic,getter=isOn) BOOL on;
[switch1 setOn:YES];
//2.1 setOn:animated:方法。Animated 参数是布尔类型,若值为 YES 开关改变状态时会显 示动画
[switch2 setOn:YES animated:YES];
//3.判断是否选中
if ([switch1 isOn]){
NSLog(@"The switch is on.");
} else {
NSLog(@"The switch is off.");
}
//4若希望在开关控件被打开或关闭时得到通知信息,就必须在你的类中,利用 UISwitch 的addTarget:action:forControlEvents:方法加上开关的 target。如下代码:
[switch1 addTarget:self action:@selector(switchIsChanged:) forControlEvents:UIControlEventValueChanged];
//添加到UIView
[self.view addSubview:switch1];
[self.view addSubview:switch2];
}
/**
* switchIsChanged 方法,用于监听UISwitch控件的值改变
*
* @param swith swith 控件
*/
-(void)switchIsChanged:(UISwitch *)swith
{
if ([swith isOn]){
NSLog(@"The switch is on.");
} else {
NSLog(@"The switch is off.");
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
5.2 执行结果
2015-04-07 00:00:59.435 2UISwitch[1220:29996] The switch is on.
2015-04-07 00:01:06.134 2UISwitch[1220:29996] The switch is off.
2015-04-07 00:01:08.424 2UISwitch[1220:29996] The switch is on.
2015-04-07 00:11:57.685 2UISwitch[1220:29996] The switch is off.
2015-04-07 00:12:03.681 2UISwitch[1220:29996] The switch is on.
2015-04-07 00:12:04.219 2UISwitch[1220:29996] The switch is off.
2015-04-07 00:12:04.965 2UISwitch[1220:29996] The switch is on.

IOS UISwitch 控件的更多相关文章
- IOS UISwitch控件的基本使用
* UISwitch继承自UIControl,因此也能像UIButton一样监听一些事件,比如状态改变事件* UISwitch可以通过拖线监听状态改变* UISwitch可以通过addTarget:. ...
- IOS开发之XCode学习011:UISwitch控件
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UIswitch控件,添加UIswitc ...
- 79.iOS 设备的UI规范和iOS各控件默认高度
iOS设备的UI 规范 iPhone界面尺寸 iPhone图标尺寸 iPad的设计尺寸 iPad图标尺寸 iPhone设备尺寸分辨率比例 iPhone各设备 launch image iOS 各种控件 ...
- iOS UIView控件的常用属性和方法的总结
一 UIVIew 常见属性1.frame 位置和尺寸(以父控件的左上角为原点(0,0))2.center 中点 (以父控件的左上角为原点(0,0))3.bounds 位置和尺寸(以自己的左上角为原点 ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- 初识IOS,Label控件的应用。
初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...
- IOS—UITextFiled控件详解
IOS—UITextFiled控件详解 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGR ...
- UISwitch控件的使用
UISwitch控件的作用是提供一个开关给用户,用户可以选择打开或者关闭. UISwitch的基本属性包括: 1.onTintColor:打开状态下的背景颜色 2.thumbTintColor:滑块的 ...
- [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)
A.概述 在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能 1.按钮点击后,显示为“已下载”,并且不 ...
随机推荐
- L1与L2正则化的对比及多角度阐述为什么正则化可以解决过拟合问题
正则化是一种回归的形式,它将系数估计(coefficient estimate)朝零的方向进行约束.调整或缩小.也就是说,正则化可以在学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险. 一. ...
- Android Debug 之 Log 最佳实践
本文微信公众号「AndroidTraveler」首发. 背景 在开发过程中,调试是必不可少的一项工作. 当我们要确定项目的逻辑时,当我们要了解界面的生命周期时,当我们发现新写的逻辑与期望效果不一致时, ...
- Intellij IDEA搭建JSP+Tomcat开发环境
1.新建项目 然后填入项目名称和选择项目路径,填完点击完成. 2.添加WEB框架 别问我为什么不一开始就直接新建WEB框架,因为我也是看的别人的教程0.0 不过还遇到了一些新问题,后面会讲到 3.配置 ...
- spring 工具类大集合
接以前的文章 apache-commons 常用工具类 和文章 apache-commons 工具类扩展 小家 Spring 对 spring 的工具类做了详细的介绍(一) 这里我抽出一些好用的类,不 ...
- 你必须知道的容器日志 (2) 开源日志管理方案 ELK
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.上一篇<你必须知道的容器日志(1)>中介绍了Docker自带的log ...
- 关闭Eslint检查
Eslint是一个JavaScript的校验插件,通常用来校验语法或代码的书写风格.不过有点过于严格,通常缩减不同也会报错... 这会影响工作效率啊,最好就是在创建项目的时候不要ESlint(选择No ...
- python_08
一.作业 ''' 主页: 图标地址.下载次数.大小.详情页地址 详情页: 游戏名.好评率.评论数.小编点评.下载地址.简介.网友评论.1-5张截图链接地址. https://www.wandoujia ...
- ubuntu 16.04上源码编译dlib教程 | compile dlib on ubuntu 16.04
本文首发于个人博客https://kezunlin.me/post/c6ead512/,欢迎阅读! compile dlib on ubuntu 16.04 Series Part 1: compil ...
- 使用sklearn和caffe进行逻辑回归 | Brewing Logistic Regression then Going Deeper
原文首发于个人博客https://kezunlin.me/post/c50b0018/,欢迎阅读! Brewing Logistic Regression then Going Deeper. Bre ...
- SpringCloud Alibaba微服务实战 - 基础环境准备
Springcloud Aibaba现在这么火,我一直想写个基于Springcloud Alibaba一步一步构建微服务架构的系列博客,终于下定决心从今天开始本系列文章的第一篇 - 基础环境准备. 该 ...