Swiftでスライダーサンプル
Swiftでスライダーを動かすと値が変わるだけのアプリを作ってみる。
実行環境 : iOS9.2
開発環境 : XCode7.2
// // ViewController.swift // Slider // import UIKit class ViewController: UIViewController { var myLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() // 背景を白に self.view.backgroundColor = UIColor.whiteColor() // スライダーを作成する let mySlider = UISlider(frame: CGRectMake(0,0,250,30)) mySlider.layer.position = CGPointMake(self.view.bounds.midX, 600) mySlider.backgroundColor = UIColor.whiteColor() mySlider.layer.cornerRadius = 10.0 mySlider.layer.masksToBounds = false // スライダーの最小値と最大値を設定 mySlider.minimumValue = 0 mySlider.maximumValue = 1 // スライダーの位置 mySlider.value = 0.5 // スライダーの現在位置より左右の色を変える mySlider.maximumTrackTintColor = UIColor.grayColor() mySlider.minimumTrackTintColor = UIColor.blackColor() // スライダーの値が変更される毎に"onChangeValueMySlider"メソッドが呼ばれる mySlider.addTarget(self, action: "onChangeValueMySlider:", forControlEvents: UIControlEvents.ValueChanged) // ビューの設定 self.view.addSubview(mySlider) // UILabelを作成 myLabel = UILabel(frame: CGRectMake(0,0,100,60)) myLabel.backgroundColor = UIColor.orangeColor() myLabel.text = "Value:".stringByAppendingFormat("%.1f", mySlider.value) myLabel.textAlignment = NSTextAlignment.Center myLabel.layer.masksToBounds = true myLabel.layer.cornerRadius = 20.0 myLabel.layer.position = CGPoint(x: self.view.bounds.width/2, y: self.view.bounds.height/2-20) self.view.addSubview(myLabel) } // スライダーの値が変わった時に呼ばれるメソッド internal func onChangeValueMySlider(sender: UISlider) { myLabel.text = "Value:".stringByAppendingFormat("%.1f", sender.value) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }