IOS UISwitch 控件

名称:IOS UISwitch 控件

供应商:北京沃赢科技有限公司

价格:面议

最小起订量:1/件

地址:北京市海淀区银海大厦

手机:18201568921

联系人:刘老师 (请说在中科商务网上看到)

产品编号:77347192

更新时间:2021-04-26

发布者IP:123.120.35.46

详细说明

  IOS UISwitch 控件

  一. UISwitch 简介

  UISwitch 的作用是给用户提供开关,在系统的设置界面很常见,控件也很简单。

  二. UISwitch 创建

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  //创建

  UISwitch *switch1 = [[UISwitch alloc]init];

  CGSize viewSize = self.view.bounds.size;

  switch1.frame = CGRectMake(viewSize.height*0.2, 150, 0, 0);

  //使用 initWithFrame 方法初始化开关控件。

  CGRect rect = CGRectMake(viewSize.height*0.2, 250, 0, 0);

  UISwitch *switch2 = [[UISwitch alloc]initWithFrame:rect];

  三. 设置选中状态

  ?

  1

  @property(nonatomic,getter=isOn) BOOL on;

  on 属性用于控制开关状态,如果设置为YES 则表示开启,如果为NO 则表示关闭,可以通过isOn 方来判断

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  //1 设置开关状态

  //1.1 setOn 方法

  [switch1 setOn:YES];

  //1.2 setOn:animated:方法。Animated 参数是布尔类型,若值为 YES 开关改变状态时会显 示动画

  [switch2 setOn:YES animated:YES]

  //2 判断状态

  if ([switch1 isOn]){

  NSLog(@"The switch is on.");

  } else {

  NSLog(@"The switch is off.");

  }

  四. 添加监听

  如果要在开关控件被打开或关闭时得到通知信息,可用利用 UISwitch 的addTarget:action:forControlEvents:方法加上开关的 target。

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  21

  // 1. 添加监听

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

  // 2.事件发生后执行的方法

  /**

  *  switchIsChanged 方法,用于监听UISwitch控件的值改变

  *

  *  @param swith swith 控件

  */

  -(void)switchIsChanged:(UISwitch *)swith

  {

  if ([swith isOn]){

  NSLog(@"The switch is on.");

  } else {

  NSLog(@"The switch is off.");

  }

  }

  五. 测试代码

  5.1 代码

  ?

  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

  #import "ViewController.h"

  @interface ViewController ()

  @end

  @implementation ViewController

  - (void)viewDidLoad {

  [super viewDidLoad];

  //1.创建

  UISwitch *switch1 = [[UISwitch alloc]init];

  CGSize viewSize = self.view.bounds.size;

  switch1.frame = CGRectMake(viewSize.height*0.2, 150, 0, 0);

  //1.1使用 initWithFrame 方法初始化开关控件。

  CGRect rect = CGRectMake(viewSize.height*0.2, 250, 0, 0);

  UISwitch *switch2 = [[UISwitch alloc]initWithFrame:rect];

  //2 设置默认选中

  //@property(nonatomic,getter=isOn) BOOL on;

  [switch1 setOn:YES];

  //2.1 setOn:animated:方法。Animated 参数是布尔类型,若值为 YES 开关改变状态时会显 示动画

  [switch2 setOn:YES animated:YES];

  //3.判断是否选中

  if ([switch1 isOn]){

  NSLog(@"The switch is on.");

  } else {

  NSLog(@"The switch is off.");

  }

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

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

  //添加到UIView

  [self.view addSubview:switch1];

  [self.view addSubview:switch2];

  }

  /**

  *  switchIsChanged 方法,用于监听UISwitch控件的值改变

  *

  *  @param swith swith 控件

  */

  -(void)switchIsChanged:(UISwitch *)swith

  {

  if ([swith isOn]){

  NSLog(@"The switch is on.");

  } else {

  NSLog(@"The switch is off.");

  }

  }

  - (void)didReceiveMemoryWarning {

  [super didReceiveMemoryWarning];

  // Dispose of any resources that can be recreated.

  }

  @end

  5.2 执行结果

  ?

  1

  2

  3

  4

  5

  6

  7

  2015-04-07 00:00:59.435 2UISwitch[1220:29996] The switch is on.

  2015-04-07 00:01:06.134 2UISwitch[1220:29996] The switch is off.

  2015-04-07 00:01:08.424 2UISwitch[1220:29996] The switch is on.

  2015-04-07 00:11:57.685 2UISwitch[1220:29996] The switch is off.

  2015-04-07 00:12:03.681 2UISwitch[1220:29996] The switch is on.

  2015-04-07 00:12:04.219 2UISwitch[1220:29996] The switch is off.

  2015-04-07 00:12:04.965 2UISwitch[1220:29996] The switch is on.

  学习链接: