iOS开发之XCode学习:UISwitch控件

作者: iOS 发布时间: 2021-01-27 浏览: 1891 次 编辑

此工程文件实现功能:

1、定义UIswitch控件,添加UIswitch控件属性

2、设置开关的基本属性,如颜色

3、向开关添加事件函数

===========================ViewController.h脚本==============================

#import 

@interface ViewController : UIViewController

{

    //定义一个开关控件

    //可以进行状态的改变

    //开 关:两种状态可以切换

    //所有UIKit框架库中的控件均已UI开头

    //苹果官方的控件都定义在UIKit框架库中

    UISwitch* _mySwitch;

}

@property (retain,nonatomic) UISwitch* mySwitch;

===========================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


此文学习来源为:http://study.163.com/course/introduction/100285800...