iOS开关按钮UISwitch控件
开关按钮UISwitch
在ViewController.h里面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#import <UIKit/UIKit.h> @interface ViewController : UIViewController{ //定义一个开关控件 //作用可以进行状态的改变 //开,关:两种状态可以切换 //所有UIKit框架库中的控件均已UI开头 //苹果官方的控件都定义在UIKit框架库中 UISwitch * _mySwitch; } @property(retain,nonatomic) UISwitch * mySwitch; @end |
在ViewController.m里面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
#import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize mySwitch=_mySwitch; - ( void )viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //创建一个开关对象 //继承于UIView的 _mySwitch = [[UISwitch alloc]init]; //苹果官方的控件的位置设置 //位置X,Y的值可以改变(100,100) //宽度和高度值无法改变(80,40)写了也没有用的,不会起到作用的。默认的。 _mySwitch.frame=CGRectMake(100, 200, 180, 40); //开关状态设置属性 //YES:开启状态 //NO:关闭状态 _mySwitch.on=YES; //也可以使用set函数 //[_mySwitch setOn:YES]; //设置开关状态 //p1:状态设置 //p2:是否开启动画效果 //[_mySwitch setOn:YES animated:YES]; [self.view addSubview:_mySwitch]; //设置开启状态的风格颜色 [_mySwitch setOnTintColor:[UIColor orangeColor]]; //设置开关圆按钮的风格颜色 [_mySwitch setThumbTintColor:[UIColor blueColor]]; //设置整体风格颜色,按钮的白色是整个父布局的背景颜色 [_mySwitch setTintColor:[UIColor greenColor]]; //向开关控件添加事件函数 //p1:函数实现对象 //p2:函数对象 //p3:事件响应时的事件类型UIControlEventValueChanged状态发生变化时触发函数 [_mySwitch addTarget:self action:@selector(swChange:) forControlEvents:UIControlEventValueChanged]; } //参数传入开关对象本身 - ( void ) swChange:(UISwitch*) sw{ if (sw.on==YES){ NSLog(@ "开关被打开" ); } else { NSLog(@ "开关被关闭" ); } } - ( void )didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?