您的位置:首页 > 产品设计 > UI/UE

iOS开发技巧 - 使用和定制开关控件(UISwitch)

2016-08-15 17:18 423 查看
1. 初始化加载到视图界面

(Swift)

import UIKit

class 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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: