iOS 开关-UISwitch
来源:互联网 发布:linux如何查看内网ip 编辑:程序博客网 时间:2024/06/05 17:00
正如分段控件代替了单选按钮,开关也代替了点选框,一般来说我的和设置页面经常常需要这种开关的需求,我们就来看看吧!
首先介绍一下switch控件
switch在UIKit框架之下,继承自UIControl,可以添加触发事件。开关状态下默认的样式如下.
点进去UISwitch,可以发现switch有以下的属性和方法:
属性:
onTintColor UIColor 开状态下的颜色tintColor UIColor 关状态下的颜色thumbTintColor UIColor 滑块颜色onImage UIImage 无效offImage UIImage 无效on( isOn) BOOL isOn是用来获取状态的是get方法,on可以用来设置开关
方法:
- (instancetype)initWithFrame:(CGRect)frame; // This class enforces a size appropriate for the control, and so the frame size is ignored.它有默认size,因此frame的size可以忽略,即使你定制了size系统也会忽略掉。- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder;- (void)setOn:(BOOL)on animated:(BOOL)animated; // does not send action
⚠️:虽然系统默认switch的size,但是switch的size也不是不能变的,我们可以通过缩放来改变switch的大小,如果还是不能满足你的需求,那你就需要自定义啦!
Objective-C代码:
//2. create switch self.mainSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(100, 70, 0, 0)]; [self.view addSubview:self.mainSwitch]; //缩小或者放大switch的size self.mainSwitch.transform = CGAffineTransformMakeScale(0.5, 0.5); self.mainSwitch.layer.anchorPoint = CGPointMake(0, 0.3);// self.mainSwitch.onImage = [UIImage imageNamed:@"on.png"]; //无效// self.mainSwitch.offImage = [UIImage imageNamed:@"off.png"]; //无效// self.mainSwitch.backgroundColor = [UIColor yellowColor]; //它是矩形的 // 设置开关状态(默认是 关)// self.mainSwitch.on = YES; [self.mainSwitch setOn:YES animated:true]; //animated //判断开关的状态 if (self.mainSwitch.on) { NSLog(@"switch is on"); } else { NSLog(@"switch is off"); } //添加事件监听 [self.mainSwitch addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged]; //定制开关颜色UI //tintColor 关状态下的背景颜色 self.mainSwitch.tintColor = [UIColor redColor]; //onTintColor 开状态下的背景颜色 self.mainSwitch.onTintColor = [UIColor yellowColor]; //thumbTintColor 滑块的背景颜色 self.mainSwitch.thumbTintColor = [UIColor blueColor];
swift代码:
//2. create switch mainSwitch = UISwitch(frame: CGRect(x: 100, y: 100, width: 0, height: 0)) view.addSubview(self.mainSwitch) //缩小或者放大switch的size mainSwitch.transform = CGAffineTransform(scaleX: 0.8, y: 0.8) mainSwitch.layer.anchorPoint = CGPoint(x:0, y:0.3) mainSwitch.onImage = UIImage(named:"on.png") //无效 mainSwitch.offImage = UIImage(named:"off.png") //无效// mainSwitch.backgroundColor = UIColor.yellow //设置背景颜色之后才发现原来它是矩形的 // 设置开关状态(默认是 关)// self.mainSwitch.isOn = true; mainSwitch.setOn(true, animated: true) // animated //判断switch的开关状态 if mainSwitch.isOn { print("switch is on") } else { print("switch is off") } //添加监听事件 mainSwitch.addTarget(self, action: #selector(switchAction), for: .valueChanged) //定制开关颜色UI //tintColor 关状态下的背景颜色 mainSwitch.tintColor = UIColor.red; //onTintColor 开状态下的背景颜色 mainSwitch.onTintColor = UIColor.yellow; //thumbTintColor 滑块的背景颜色 mainSwitch.thumbTintColor = UIColor.blue;
当然,有的项目里的开关UI需要自定义字体或者自定义图片,那么就需要自己自定义switch啦!
0 0
- IOS--UISwitch 开关控件
- iOS开关-UISwitch
- iOS 开关-UISwitch
- UISwitch 开关控件—IOS开发
- UISwitch 开关控件—IOS开发
- UISwitch 开关控件—IOS开发
- UISwitch 开关控件—IOS开发
- UISwitch 开关控件—IOS开发
- UISwitch 开关控件—IOS开发
- iOS分段控制器UISegmentedControl和开关UISwitch
- UISwitch 开关
- UISwitch/开关
- UISwitch(开关)
- 开关UISwitch
- IOS开发(2)之UISwitch开关控件
- ios基础控件之开关按钮(UISwitch)
- IOS开发之UI篇—UISwitch(开关按钮)
- iOS开发从入门到精通--开关按钮UISwitch控件
- ccf试题 最大波动
- 文章标题
- 用故事讲述淘宝网架构成长的危机与机遇
- 看完这篇文章才对GIT有了大彻大悟的认识
- 多重继承
- iOS 开关-UISwitch
- Mysql锁机制
- VS2010 书签 工具的使用方法
- 使用 js 实现 贷款计算器功能
- centos中如何利用madmom计算合弦
- 【struts】——bean_write标签使用
- 前端性能优化之 —— 图片延迟加载 (原理以及实现方式)
- 技术普及帖:你刚才在淘宝上买了一件东西
- 关于在腾讯云服务器上安装web集成环境遇到的问题