本文共 2007 字,大约阅读时间需要 6 分钟。
1. 初始化加载到视图界面
(Swift)
import UIKitclass ViewController: UIViewController { // 1. create a property of type UISwitch var mainSwitch:UISwitch! override func viewDidLoad() { super.viewDidLoad() // 2. create switch mainSwitch = UISwitch(frame: CGRect(x: 100, y: 100, width: 0, height: 0)) view.addSubview(mainSwitch) }}
(Objective-C)
#import "ViewController.h"@interface ViewController ()// 1. create a property of type UISwitch@property (nonatomic, strong) UISwitch *mainSwitch;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // 2. create switch self.mainSwitch = [[UISwitch alloc] initWithFrame: CGRectMake(100, 100, 0, 0)]; [self.view addSubview:self.mainSwitch];}@end
2. 设置开关状态
(Swift)
mainSwitch.setOn(true, animated: true)
(Objective-C)
[self.mainSwitch setOn:YES];
3. 判断开关状态
(Swift)
if mainSwitch.on{ /* Switch is on */} else { /* Switch is off */}
(Objective-C)
if ([self.mainSwitch isOn]){ NSLog(@"The switch is on.");} else { NSLog(@"The switch is off.");}
4. 添加事件监听
(Swift)
mainSwitch.addTarget(self, action: "switchIsChanged:", forControlEvents: .ValueChanged) func switchIsChanged(sender: UISwitch) { println("Sender is = \(sender)") if sender.on{ println("The switch is turned on") } else { println("The switch is turned off") }}
(Objective-C)
[self.mainSwitch addTarget:self action:@selector(switchIsChanged:) forControlEvents:UIControlEventValueChanged]; - (void) switchIsChanged:(UISwitch *)paramSender { NSLog(@"Sender is = %@", paramSender); if ([paramSender isOn]){ NSLog(@"The switch is turned on."); } else { NSLog(@"The switch is turned off."); }}
5. 定制开关UI
/* Adjust the off-mode tint color */mainSwitch.tintColor = UIColor.redColor()/* Adjust the on-mode tint color */mainSwitch.onTintColor = UIColor.brownColor()/* Also change the knob's tint color */mainSwitch.thumbTintColor = UIColor.greenColor()
转载地址:http://yvncx.baihongyu.com/