UISwitch开关控件

一、创建

  • UISwitch* mySwitch = [[ UISwitch alloc]initWithFrame:CGRectMake(200.0,10.0,0.0,0.0)];

大小是0.0×0.0,系统会自动帮你决定最佳的尺寸,你自己写的尺寸会被忽略掉,你只要定义好相对父视图的位置就好了。默认尺寸为79 * 27。

二、显示控件

  • [ parrentView addSubview:mySwitch];//添加到父视图

  • self.navigationItem.titleView = mySwitch;//添加到导航栏

三、开关状态

开关状态可以通过它的on属性读取,这个属性是一个BOOL值,表示开关是否被打开:

  • BOOL switchStatus = mySwitch.on;

你可以在你的代码中用setOn方法来打开或关闭开关:

  • [ mySwitch setOn:YES animated:YES];

四、通知想要在开关状态切换时收到通知,可以用UIControl类的addTarget方法为UIControlEventValueChanged事件添加一个动作。

  • [ mySwitch addTarget: self action:@selector(switchValueChanged:) forControlEvents:UIControlEventValueChanged];

这样,只要开关一被切换目标类(上例中目标类就是当前控制器self)就会调用switchValueChanged方法,

- (void) switchValueChanged:(id)sender

{

}

代码实例:通过UISwitch的开关,在UILable上显示开,关状态

1.首先声明两个实例变量

@interface MHTViewController ()

{

UILabel *_label;

UISwitch *_switch;

}

@end

- (void)viewDidLoad

{

[super
viewDidLoad];

// Do any additional setup after loading the view.

//创建一个UILabel对象:_label;

_label = [[UILabel
alloc] initWithFrame:CGRectMake(0,
20, 320,
50)];

//初始_label显示的文本

_label.text =
@"";

//设置_label文本的对齐方式,默认为左对齐

_label.textAlignment =
NSTextAlignmentCenter;

//设置文本的字体和大小

_label.font = [UIFont
fontWithName:@"Arial"
size:50];

//单纯的设置文本的大小

_label.font = [UIFont
systemFontOfSize:20];

//设置文本的颜色

_label.textColor = [UIColor
blueColor];

//设置显示的行数,如果为0,则会自动扩充

_label.numberOfLines =
0;

//把对象加入到view上

[self.view
addSubview:_label];

//要记得把对象release

[_label release];

//创建一个UISwitch对象:_switch

_switch = [[UISwitch
alloc] init];

//设置它的位置,它的大小为79 * 27,不能改动

_switch.frame =
CGRectMake(120,
100, 0, 0);

//设置它的初始状态为Off,

_switch.on =
NO;

//把对象加入到view

[self.view
addSubview:_switch];

//要记得把对象release

[_switch release];

//给_switch绑定一个对象,当UIControEventValueChanged时会触发onChange:方法。

[_switch
addTarget:self
action:@selector(onChange:)
forControlEvents:UIControlEventValueChanged];

}

- (void)onChange:(id)sender

{

//强制转换sender的类型,sender代表发送者

UISwitch * tmpSwitch = (UISwitch *)sender;

if (tmpSwitch.on) {

//如果它的状态为On的话,_label显示的文本为“开”

_label.text =
@"开";

}else{

//如果它的状态为Off的话,_label显示的文本为“关”

_label.text =
@"关";

}

}

时间: 2025-01-12 00:21:31

UISwitch开关控件的相关文章

UISwitch 开关控件

UISwitch iOS中的开关控件,只有两种状态,打开或关闭. aSwitch.tintColor = [UIColor redColor]; //关闭状态下的渲染颜色 aSwitch.onTintColor = [UIColor blueColor]; //打开状态下的渲染颜色. aSwitch.on = NO; //将其显示状态为打开 (默认关闭). aSwitch.thumbTintColor = [UIColor blackColor]; //改变switch开关按钮的颜色. [aSw

【iOS开发-12】UISwitch开关控件属性介绍以及获取开关状态并做出响应

(1)UISwitch的大小也是固定的,不随我们frame设置的大小改变:也是裁剪成圆角的,设置背景就露马脚发现背景是矩形. (2)UISwitch的背景图片设置无效,即我们只能设置颜色,不能用图片当背景,虽然实验了很小的图片,也是不行.可能需要借助第三方类来实现. (3)UISwitch也可以增加addTarget:方法,来获取值变动的操作,从而做出响应的反应. (4).isOn属性比较特殊,不能设置值,因为是哥getter方法,不是setter方法,所以只能获取值,例如判断是否开启,一般用在

UISwitch——开关控件

开关的可配置选项很少,一般用于处理布尔值. 下面给出一个小Demo,创建两个开关,开关一可以控制开关二的可用与否,两者的关系就相当于水闸与水龙头的关系. #import "ViewController.h" @interface ViewController () @property(nonatomic,strong) UISwitch *swicth1; @property(nonatomic,strong) UISwitch *switch2; @end @implementati

开关控件在主流前端框架中的使用方法

本文仅介绍使用方法,后续再介绍实现方案及优劣对比. jquerymobile jqm可以使用checkbox和select模拟switch控件,只需要增加data-role='flipswitch'即可: 默认开关控件: <input type="checkbox" data-role="flipswitch" /> 若要变为选中状态,只需要增加一个checked属性即可,如下: <input type="checkbox" d

weui-switch开关控件,表单提交后如何取值

最近在学习weui这个框架,做了一些小的试验,发现weui-switch控件直接提交不能获取到表单信息,在segmentfault上发现也有人提了这个问题,有人说可以设置一个隐含标签来捕获开关的状态,试了一下,确实可以,把我自己的解决方法写下来如下: weui这个switch开关控件好像确实只能用来显示开关状态,无法提交数据,我根据楼上的思路,建了一个隐藏的radio标签,然后通过这个开关控件来设置radio标签的value属性,这样提交,后台php就能获取到正确的表单信息了: <!--隐含元素

自定义switch开关控件,实现点击和滑动效果

效果图 1. xml布局中 <com.etoury.etoury.ui.view.SlideSwitch android:id="@+id/slideSwitch3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 2. SlideSwitch.java package com.etoury.etoury.ui.view; impo

HYSwitch - iOS7风格的开关控件

可以自定义控件大小. 可以修改关闭背景色.打开背景色.按钮颜色. 通过block回调. 详见.h文件 GitHub:  https://github.com/rainbownight/HYSwitchExample HYSwitch - iOS7风格的开关控件

Android 自定义SwitchButton开关控件

SwitchButton开关控件早已经非常流行.有各种各样的样式,SwitchButton开关控件一般用于app软件设置那里,控制缓存.声音.提示.下载等等.是具有很好的UI体验以及用户的习惯性.那么再下面介绍一个SwitchButton开关控件.并附上源码. 源码下载:点击 一.看实现的效果图 二.自定义SwitchButton 这是一个继承CheckBox的SwitchButton类.来实现做这些动画效果的,首先准备好这些图片,然后canvas绘制控件 的边框.背景.以及按钮.绘制时候加上相

小米3系统计算器自定义开关控件-MySwitchView

1.前言 在android4.0以后,有switch控件,类似于iPhone上面滑块的效果,但是只能用在4.0以后的系统中,之前的平台,就无法使用这种控件.近段时间,看到了小米3手机上自带的计算器app,有这样的效果,上面的一个控件,觉得很漂亮,并且与iPhone上的效果略有不同,于是自己动手编写了一下这个功能,在编写的过程中,参考过网上的一些demo,运行后,在控件滑动的时候,感觉动画不平滑,有卡顿的现象,反复修改,最后还是有一些问题,感觉是在滑动中的状态,没有合理的控制好.无奈只能参考Goo