此文学习来源为:http://study.163.com/course/introduction/1002858003.htm
此工程文件实现功能:
1、定义UIswitch控件,添加UIswitch控件属性
2、设置开关的基本属性,如颜色
3、向开关添加事件函数
===========================ViewController.h脚本==============================
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
{
//定义一个开关控件
//可以进行状态的改变
//开 关:两种状态可以切换
//所有UIKit框架库中的控件均已UI开头
//苹果官方的控件都定义在UIKit框架库中
UISwitch* _mySwitch;
}
@property (retain,nonatomic) UISwitch* mySwitch;
@end
===========================ViewController.m脚本==============================
#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的值可以改变
//宽度和高度值无法改变,80、40为无效值
_mySwitch.frame = CGRectMake(100, 100, 80, 40);
//_mySwitch.backgroundColor = [UIColor blueColor];
//开关状态设置属性
//YES:开启状态
//NO:关闭状态
_mySwitch.on = YES;
//也可以使用set函数
[_mySwitch setOn:YES];
//设置开关状态
//P1:状态设置
//P2:是否开启动画效果
[_mySwitch setOn:YES animated:YES];
[self.view addSubview:_mySwitch];
//设置开启状态的风格颜色
[_mySwitch setOnTintColor:[UIColor redColor]];
//设置开关圆按钮的风格颜色
[_mySwitch setThumbTintColor:[UIColor greenColor]];
[_mySwitch setTintColor:[UIColor purpleColor]];
//向开关控件添加事件函数
//P1:函数实现对象
//P2:函数对象
//P3:事件响应时的事件类型UIControlEventValueChanged:状态发生变化时触发函数
[_mySwitch addTarget:self action:@selector(swChange:) forControlEvents:UIControlEventValueChanged];
// self.view.backgroundColor = [UIColor blueColor];
}
//参数传入开关对象本身
-(void)swChange:(UISwitch*) sw
{
//on表示当前结束的状态
//OC里没有直接输出BOOL类型值的方法,可以借助三目运算符实现
NSLog(@"开关状态发生变化!,开关状态为 = %@",sw.on ? @"打开" : @"关闭");
// if (sw.on == YES) {
// NSLog(@"开关被打开");
// }
// else
// {
// NSLog(@"开关被关闭");
// }
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
学习总结:
- 重点:UISwitch控件的属性
- 难点:UISwitch控件的使用
源码链接地址:https://pan.baidu.com/s/1yrOLXZZeu9MiOWtMq5-EGA 密码:7t1l