UISwitch开关控件属性介绍以及获取开关状态并做出响应
(1)UISwitch的大小也是固定的,不随我们frame设置的大小改变;也是裁剪成圆角的,设置背景就露马脚发现背景是矩形。
(2)UISwitch的背景图片设置无效,即我们只能设置颜色,不能用图片当背景,虽然实验了很小的图片,也是不行。可能需要借助第三方类来实现。
(3)UISwitch也可以增加addTarget:方法,来获取值变动的操作,从而做出响应的反应。
(4).isOn属性比较特殊,不能设置值,因为是哥getter方法,不是setter方法,所以只能获取值,例如判断是否开启,一般用在if语句中。
- (void)viewDidLoad {
//实例化一个开关控件
UISwitch *swi1=[[UISwitch alloc]init];
//设置位置和大小,发现大小无效。即开关控件大小不受影响,还是那么
swi1.frame=CGRectMake(, , , );
//设置背景,发现上面设置的框的大小确实无效,因为背景只有控件那么大,并不是设置的那么大,而且控件是圆角
swi1.backgroundColor=[UIColor redColor];
//设置ON一边的背景颜色,默认是绿色
swi1.onTintColor=[UIColor yellowColor];
//设置OFF一边的背景颜色,默认是灰色,发现OFF背景颜色其实也是控件”边框“颜色
swi1.tintColor=[UIColor purpleColor];
//设置滑块颜色
swi1.thumbTintColor=[UIColor greenColor];
swi1.onImage=[UIImage imageNamed:@"1.png"];//无效
swi1.offImage=[UIImage imageNamed:@"logo.png"];//无效
//设置成开启病设置动画形式出现,当然也可以直接用[swi1 setOn:YES];
[swi1 setOn:YES animated:YES];
//开关控件默认是关闭的,setOn可以默认成打开,所以其实它在显示的时候有一个打开的动作,但这个动作不发送消息,即捕捉不到
//如我们做个试验,弄个针对“值变动”所引发的操作,即值发生变动,开启输出“On”,关闭输出“Off”
//发现第一次并没有输出On,我们自己手动从关闭到开启时会有On和Off
//所以这个setOn虽然是一个开启动作,但我们可以认为它相当于是内置了,我们看不到这个动作,所以捕捉不到
//但这里我们练习了获取值变动病利用isOn来做相应的操作
[swi1 addTarget:self action:@selector(getValue1:) forControlEvents:UIControlEventValueChanged];
//isOn是一个getter方法,所以不能够赋值,即不能用swi.isOn=YES,只能取得当前结果,一般用于判断是否是开启状态
if (swi1.isOn) {
NSLog(@"It is On");
}
[self.view addSubview:swi1];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
-(void)getValue1:(id)sender{
UISwitch *swi2=(UISwitch *)sender;
if (swi2.isOn) {
NSLog(@"On");
}else{
NSLog(@"Off");
}
}
UISwitch开关控件属性介绍以及获取开关状态并做出响应的更多相关文章
- [Xcode 实际操作]四、常用控件-(6)UISwitch开关控件的使用
目录:[Swift]Xcode实际操作 本文将演示开关控件的基本用法. 开关控件有两个互斥的选项,它是用来打开或关闭选项的控件. 在项目导航区,打开视图控制器的代码文件[ViewController. ...
- UISwitch 开关控件
UISwitch iOS中的开关控件,只有两种状态,打开或关闭. aSwitch.tintColor = [UIColor redColor]; //关闭状态下的渲染颜色 aSwitch.onTint ...
- NX二次开发-Block UI C++界面Toggle(开关)控件的获取(持续补充)
NX9+VS2012 public: void SetBlockUIShow(); void ToggleInt::SetBlockUIShow() { //获取开关控件 //获取枚举控件 Prope ...
- weui-switch开关控件,表单提交后如何取值
最近在学习weui这个框架,做了一些小的试验,发现weui-switch控件直接提交不能获取到表单信息,在segmentfault上发现也有人提了这个问题,有人说可以设置一个隐含标签来捕获开关的状态, ...
- android自己定义开关控件
近日在android项目要使用开关控件.可是android中自带的开关控件不太惬意,所以就打算通过自己定义View写一个开关控件 ios的开关控件当然就是我要仿照的目标. 先上图: waterma ...
- Ext 6.5.3 classic版本,自定义实现togglefield开关控件
1,在Ext 6.5.3的classic版中没有提供开关控件,参照modern版中 togglefield开关的实现,继承滑动器(sliderfield),自定义一个开关按钮.支持value绑定和点击 ...
- 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
http://blog.csdn.net/panjunbiao/article/details/8615880 用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应
- Android自定义控件(一)——开关控件
Google 在 API 14 开始才新增了Switch 控件. 因此,我们可以选择自己封装一个Switch . 效果如图: View主要代码: public class SwitchView ext ...
- android开关控件Switch和ToggleButton
序:今天项目中用到了开关按钮控件,查阅了一些资料特地写了这篇博客记录下. 1.Switch <Switch android:id="@+id/bt" android:layo ...
随机推荐
- 在linux和Mac中访问某个文件夹中所有的文件
在linux和Mac中访问某个文件夹中所有的文件——输出所有的文件名 #include <stdio.h> #include <dirent.h> int main() { s ...
- 用js实现九九乘法口诀两种方式
js实现九九乘法口诀两种方式: 第一种是用户输入一个数弹出所对应的乘法口诀: <script type="text/javascript"> function art( ...
- H5前端框架推荐合集 (转)
Ionic ionic 吧开发流程都帮你做好了,已经不再是单纯的UI框架,而是开发框架了,非常适合快速开发.基于angular2,丰富的UI组件,大大改进的编程模型, Semantic UI 中文官网 ...
- 关于slavetable
slavetable有两种情况, 从表有三个要素 1.自己主键字段的idfield 2.对应主表的主键字段masterIdField 3.对应主表主键的值 模式一.MasetrEdit模式 也就是主 ...
- cf-Global Round2-E. Pavel and Triangles
题目链接:http://codeforces.com/contest/1119/problem/E 题意:给定n个数a[i],分别表示长度为2i-1的木条的数量,问使用这些木条最多能构成多少三角形. ...
- jfinal头像裁剪上传服务器
前端页面完整代码,复制可用,记得导入库文件 <!DOCTYPE html> <html lang="en"> <head> <title& ...
- 【mysql】分区表
分区表是什么? 分区表可以按照事先创建的规则,对mysql的记录进行分组,每一个组具有一个独立的逻辑单元来存储该组的数据.典型的如:按照创建时间的年份分组,按照id的顺序分组(每1000万条数据分一个 ...
- iOS开发时使用的bundle路径
bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBu ...
- IntelliJ IDEA 运行 Maven 项目
1.官方文档说IntelliJ IDEA已经自身集成了maven,则不用劳心去下载maven 2.导入一个程序,看是否是maven程序的关键在于工程之中有没有pom.xml这个文件,比如这里 3. ...
- spring BeanUtils 工具实现对象之间的copy
一般我们会开发中会遇到返回用户信息的时候,不需要返回密码或者其他参数,这时候我们需要重新定义一个VO类去除不需要的参数,将原对象copy到VO类中 使用spring的BeanUtils可以实现对象的c ...