UISwitch的基本使用

开关

一、头文件的定义

#import 

@interface ViewController : UIViewController
{
    //定义一个开关控件,可以进行状态的改变
    //开:关:两种状态可以切换
    UISwitch* _mySwicth ;
}

@property(retain,nonatomic) UISwitch* mySwitch ;

@end

所有UIKit框架库中的控件均以UI开头,苹果官方的j控件都定义在UIKit框架库中
二、代码

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

//同步属性和成员变量
@synthesize mySwitch = _mySwicth ;

-(void) viewDidLoad
{
    [super viewDidLoad] ;
    
    //创建一个开关对象,继承于UIView的
    _mySwicth = [[UISwitch alloc] init] ;
    
    //苹果官方的控件的位置设置
    //位置X,Y的值可以改变
    //宽度和高度值无法改变,即80和40这两个参数是无效的,系统默认固定
    _mySwicth.frame = CGRectMake(100, 100, 80, 40) ;
    
    //开关s状态设置属性
    //YES:开启,NO:关闭
    _mySwicth.on = YES ;
    //这两者是等价的语法
    [_mySwicth setOn:YES] ;
    
    //设置开关状态,以及切换动画效果
    [_mySwicth setOn:YES animated:NO] ;
    //设置开启状态的风格颜色
    [_mySwicth setOnTintColor:[UIColor redColor]] ;
    //设置开关按钮的颜色
    [_mySwicth setThumbTintColor:[UIColor greenColor]] ;
    //设置整体风格的颜色
    [_mySwicth setTintColor:[UIColor purpleColor]] ;
    //向开关控件添加事件函数
    //P1:函数实现对象,P2:函数对象,P3:事件响应时的事件类型,UIControlEventValueChanged:状态发生变化是触发函数
    [_mySwicth addTarget:self action:@selector(swChange:) forControlEvents:UIControlEventValueChanged] ;
    
    [self.view addSubview:_mySwicth] ;
    
}
//参数传入开关对象本身
-(void) swChange:(UISwitch*) sw
{
    //on表示当前状态,YES是开着,NO是关着
    if (sw.on == YES) {
        NSLog(@"开关被打开!") ;
    } else {
        NSLog(@"开关被关闭!") ;
    }
    NSLog(@"开关状态发生变化!") ;
}

@end

你可能感兴趣的:(UISwitch的基本使用)