UI: UISwitch 创建及使用开关 定制开关

1.UISwitch类提供一个开/关的用户控制.

- (void)viewDidLoad {
    [super viewDidLoad];

    self.mySwitch = [[UISwitch alloc]initWithFrame:CGRectMake(100, 100, 0, 0)];
    [self.view addSubview:self.mySwitch];
}

开关控件的预设状态是关闭。可以透过改变 UISiwtch 实例的 on 属性来改变。另外也可以呼叫 setOn 方法,如下:

[self.mySwitch setOn:YES];

若希望在开关控件被打开或关闭时得到通知信息,就必须在你的类中,利用 UISwitch 的addTarget:action:forControlEvents:方法加上开关的 target。

[self.mySwitch addTarget:self action:@selector(switchIsChanged:) forControlEvents:UIControlEventValueChanged];

- (void)switchIsChanged:(UISwitch *)paramSender{
    NSLog(@"Sender is = %@",paramSender);
    if ([paramSender isOn]) {
        NSLog(@"The switch is turned on");
    }else{
        NSLog(@"The switch is turned off");
    }
}

2.

开关的定制主要有两个方法:

Tint Colors:可以应用在 UI 组件上,例如 UISwitch。tint 颜色会被应用在UI 组件当前颜色的 top 位置之上。例如,一个普通的 UISwitch,可以设置不同的颜色。当将 tint 颜色应用在 UI 组件上时,控件的原始颜色会被 tint 颜色最小化。

Images:开关有两个图片:

On Image:这个图片代表了开关的开状态.宽度是 77 points,高度是 22.

Off Image:这个图片代表了开关的关状态.宽度是 77 points,高度是 22. (宽高度不一定了)

2.1 修改开关的 tint 颜色。可以通过使用 UISwitch 类的 3 个重要属性来完成:

tinColor:这个 tint color 会被用在开关的 off 状态上。不幸的是,苹果没有将其名字用offTintColor :代替 tintColor。这个属性的类型是 UIColor。

thumbTintColor:这个 tint color 被用在开关的小圆钮上,这个属性是 UIColor。

onTintColor:这个 tint color 被用在开关的 on 状态上,这个属性也是 UIColor。 

例子:

//将开关的 on-mode tint color 设置为红色,off-mode tint color 设置为棕色(brown),小圆钮的 tint color 则为绿色
    _mySwitch.tintColor = [UIColor redColor];
    _mySwitch.onTintColor = [UIColor greenColor];
    _mySwitch.thumbTintColor = [UIColor brownColor];
//switch的开关图片
    _mySwitch.onImage = [UIImage imageNamed:@"on"];
    _mySwitch.offImage = [UIImage imageNamed:@"off"];
时间: 2024-08-28 00:24:40

UI: UISwitch 创建及使用开关 定制开关的相关文章

iOS开发技巧 - 使用和定制开关控件(UISwitch)

1. 初始化加载到视图界面 (Swift) import UIKit class ViewController: UIViewController { // 1. create a property of type UISwitch var mainSwitch:UISwitch! override func viewDidLoad() { super.viewDidLoad() // 2. create switch mainSwitch = UISwitch(frame: CGRect(x:

kendo ui grid 创建一行数据多次添加(kendo ui grid datasource multiple create)

今天测试之前使用kendo ui grid 做的数据表格的时候发现了一个bug,我使用的是kendo ui grid 系统自带的自动添加数据和编辑数据的功能,每次添加完一条数据的时候继续添加的时候会发现之前添加的数据会重复添加.查看官方文档,文档说是dataSource schema model id 必须是唯一键,而且添加数据完成之后需要返回一个数据包含id,结果研究了半天没有找到问题所在. var crudServiceBaseUrl = "/NFC"; var dataSourc

利用kendo ui window创建自己的promise window

新建一个appdialog.js文件,代码如下 var contexts = {}; var dialogCount = 0; var app = { getDialog: function (obj) { if (obj) { return obj.__dialog__; } return undefined; }, close: function (obj) { var theDialog = this.getDialog(obj); if (theDialog) { var rest =

利用kendo ui window创建自己的promise window (二)

前一篇promise window 在做的时候没有考虑仔细,只是实现了自己的关闭按钮,但是kendo window 自己的关闭按钮点击时没有回传值,并且造成了一个非常大的bug,非常抱歉,今天重新整理下.把原来的appdialog文件书写了下,有需要的重新替换下,非常抱歉 var contexts = {}; var dialogCount = 0; var app = { getDialog: function (obj) { if (obj) { return obj.__dialog__;

Cocos2d-x3.0游戏实例之《别救我》第五篇——使用Cocostudio UI编辑器创建操作界面

这一篇内容其实很简单,已经对Cocostudio比较熟悉的朋友就可以随便扫一下了~(小若:熟悉Cocostudio的人谁还有空看你的基础教程呢) 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址:http://www.benmutou.com/blog/archives/892 文章来源:笨木头与游戏开发 下载Cocostudio 首先,去官网下载最新版的Cocostudio:http://www.cocos2d-x.org/download 我这篇教程使用的版本是V1.3.0.1

SAP CRM 在Web UI中创建搜索帮助

多数情况下,在Web UI为一个特定的字段提供搜索帮助需要在事务SE11中创建搜索帮助. (注:也可以通过在SE24中创建一个类并实现实现IF_BSP_WD_CUSTOM_F4_CALLBACK接口来提供搜索帮助.) 让我们首先在SE11中创建搜索帮助. 前往事务SE11,创建搜索帮助,输入下图中展示的值.这里我们希望在搜索视图提供一个用于合作伙伴功能字段的搜索帮助. Selection method是值所在的表名.激活搜索帮助. 前往用户界面组件工作台中需要提供搜索帮助的字段.这里我们想要为搜

使用Cloud application Studio在C4C UI里创建下拉列表(dropdown list)

在Cloud Application Studio里新建一个Code List Data Type: 维护Value和描述信息,以及在ABSL里使用的constant值. 保存之后,上述维护的信息会存储到一个名为.codelist 的文件里.激活之后,这个新建的数据类型就可以用于定义extension field(扩展字段)的类型了. 在下图,我定义了一个新的extension field,类型为前一步创建的code list: 将这个扩展字段暴露到UI上: 最后运行时外观如下: 要获取更多Je

vue利用vue ui命令创建项目

上次用git bash,用create 命令创建vue项目,这是玩个炫酷的------vue ui (前提是有安装node.js). 在目标文件  vue ui 可以看到他在8000端口出现了一个gui图形窗口 剩下的基本很友好.点击创建项目,会让填项目名称,选择包管理工具,是否上传git, 然后让选择预设.预设就是你的下载loader包的配置. 你如果想要彻底删除以前自己保存的预设,可以找c盘下的用户,搜索 .vuerc,把你不想要的预设删除就可以了. 最后一步点击创建项目,vue-cli 会

自己动手写客户端UI库——创建第一个控件

在上一篇文章中我们主要讲了C#如何和JS通信, 这一篇文章中,我们将创建一个最基础的Button控件 WUI库中控件的继承机制 我们先解释最简单的继承机制,以后WUI库的继承机制会比这个复杂的多 第一:PanelMain类 我们在上一篇中说了,PanelMain是一个特殊的Panel,每一个用户程序都应该自己实现一个PanelMain类的子类,用户把这个子类的实例交给WUI库,WUI库把这个实例当作第一个容器控件添加到窗体中,WUI库告诉用户什么时候这个用户控件创建完毕,用户可以在PanelMa