UISwitch - スイッチを表示
説明
UISwitchはUIControlのサブクラス
ソースコード
UISwitchSample.swift
import UIKit class UISwitchSample: UIView { var label: UILabel! override init(frame: CGRect) { super.init(frame: frame) // スイッチとラベルをのせるビュー let view = UIView(frame: CGRectMake(0, 0, 200, 150)) self.addSubview(view) view.center = self.center view.backgroundColor = colorPattern.main() // ラベル label = UILabel(frame: CGRectMake(0, 0, 100, 50)) label.center = CGPointMake(view.frame.width/2, view.frame.height * 0.75) label.textColor = colorPattern.lightText() label.textAlignment = NSTextAlignment.Center view.addSubview(label) let sw = UISwitch(frame: CGRectMake(0, 0, 60, 40)) view.addSubview(sw) sw.center = CGPointMake(view.frame.width/2, view.frame.height/2) // デザイン sw.onTintColor = colorPattern.accent() // スイッチをONにする sw.setOn(true, animated: true) label.text = "ON" // 値が変わった時の処理を指定 sw.addTarget(self, action: "switchChanged:", forControlEvents: UIControlEvents.ValueChanged) } func switchChanged(sender: UISwitch) { // スイッチのon/off if sender.on { label.text = "ON"} else { label.text = "OFF" } } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
ViewController.swift
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = colorPattern.back() self.view.addSubview(UISwitchSample(frame: self.view.frame)) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }