UISwitch开关控件

转载至:http://blog.sina.com.cn/s/blog_7fa6b06f010121jh.html

开关代替了点选框。开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化。

一、创建

 

  1. UISwitch* mySwitch = [[UISwitchalloc]initWithFrame:CGRectMake(200.0,10.0,0.0,0.0)];

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

二、显示控件

  1. [ parrentViewaddSubview:mySwitch];//添加到父视图
  1. self.navigationItem.titleView =mySwitch;//添加到导航栏

三、开关状态

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

  1. BOOL switchStatus =mySwitch.on;
你可以在你的代码中用 setOn方法来打开或关闭开关:
  1. [ mySwitchsetOn:YES animated:YES];
四、通知想要在开关状态切换时收到通知可以用UIControl类的addTarget方法为UIControlEventValueChang ed事件添加一个动作。
  1. [ mySwitch addTarget: selfaction:@selector(switchValueChanged:)forControlEvents:UIControlEventValueChanged];
这样,只要开关一被切换目标类(上例中目标类就是当前控制器self)就会调用switchValueChanged方法,

- (void)switchValueChanged:(id)sender{

  1. UISwitch* control =(UISwitch*)sender;
  2. if(control ==mySwitch){
  3. BOOL on =control.on;
  4. //添加自己要处理的事情代码
  5. }
  6. }

五,代码示例

4.09UISwitch(2)

- (void)onChange:(id)sender

{

UISwitch * tmpSwitch = (UISwitch *)sender;

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

if (tmpSwitch.on) {

_label.text=@"";

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

}else{

_label.text=@"";

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

}

}

- (void)viewDidLoad

{

[super viewDidLoad];

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

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

_label.text =@"";

//初始_label显示的文本

_label.textAlignment =UITextAlignmentCenter;

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

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

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

_label.font = [UIFontsystemFontOfSize:20];

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

_label.textColor = [UIColorblueColor];

//设置文本的颜色

_label.numberOfLines =0;

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

[self.viewaddSubview:_label];

//把对象加入到view

[_label release];

//要记得把对象release

_switch = [[UISwitchalloc] init];

//创建一个UISwitch对象:_switch

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

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

_switch.on =NO;

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

[self.viewaddSubview:_switch];

//把对象加入到view

[_switch release];

//要记得把对象release

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

//_switch绑定一个对象,当UIControEventValueChanged时会触发onChange:函数。

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值