UISlider - スライダーを表示
説明
UISliderはUIControlのサブクラス
ソースコード
UISliderSample.swift
import UIKit class UISliderSample: UIView { var label: UILabel! override init(frame: CGRect) { super.init(frame: frame) let sld = UISlider(frame: CGRectMake(0, 0, 200, 40)) self.addSubview(sld) // 位置を変更 sld.center = self.center // 最大値・最小値を指定 sld.minimumValue = 0.0 sld.maximumValue = 10.0 // 初期値を指定 sld.setValue(5.0, animated: true) // デザイン sld.tintColor = colorPattern.accent() sld.backgroundColor = colorPattern.sub() sld.layer.masksToBounds = true sld.layer.cornerRadius = sld.frame.height / 2 // 値が変わった時の処理を指定 sld.addTarget(self, action: "sliderChanged:", forControlEvents: UIControlEvents.ValueChanged) // ラベルに値を表示 label = UILabel(frame: CGRectMake(0, 0, 100, sld.frame.height)) self.addSubview(label) label.center = CGPointMake(self.center.x, self.center.y + 50) // テキストをスライダーの値に label.text = "value: \(sld.value)" // デザイン label.textColor = colorPattern.lightText() label.backgroundColor = colorPattern.main() label.textAlignment = NSTextAlignment.Center label.layer.shadowColor = colorPattern.shadow().CGColor label.layer.shadowOpacity = 1.0 label.layer.shadowOffset = CGSizeMake(10.0, 10.0) } func sliderChanged(sender: UISlider) { // スライダーが動いた時にラベルの値を更新 label.text = "value: \(sender.value)" } 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(UISliderSample(frame: self.view.frame)) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }