Skip to content

Instantly share code, notes, and snippets.

@KentarouKanno
Last active May 24, 2022 15:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KentarouKanno/73e668d25ed80d2b6371 to your computer and use it in GitHub Desktop.
Save KentarouKanno/73e668d25ed80d2b6371 to your computer and use it in GitHub Desktop.
UISlider

UISlider

★ スライダーの生成

let slider = UISlider()

let slider: UISlider = UISlider()

// サイズを指定して生成
let slider = UISlider(frame: CGRectMake(60, 50, 200, 30))

★ スライダーの中心位置を設定

slider.center = CGPointMake(160, 30)

★スライダーの位置を設定

// 高さは指定不可(Default 30 ※0にするとスライダーが動かなくなる)
slider.frame = CGRectMake(20, 20, 280, 30)

★ スライダーの最小値を指定する

// Default 0.0
slider.minimumValue = 10.0

★ スライダーの最大値を指定する

// Default 1.0
slider.maximumValue = 100.0

★ スライダーの位置を設定/取得する

slider.value = 45.0

var value = slider.value
//=> 45

★ スライダー操作時の値変更通知のタイミングを指定する

// スライド中も通知する(Default)
slider.continuous = true

// スライド中は通知しない
slider.continuous = false

★ スライダーバーの色を変える

// 最小値側のカラーを設定
slider.minimumTrackTintColor = UIColor.redColor()

// 最大値側のカラーを設定
slider.maximumTrackTintColor = UIColor.blueColor()

// ツマミのカラーを指定 (※動かない?)
slider.thumbTintColor = UIColor.yellowColor()

★ スライダーの画像を設定する

let image = UIImage(named: "image.png")

// 最小値側バーの画像を設定
slider.setMinimumTrackImage(image, forState: .Normal)

// 最大値側バーの画像を設定
slider.setMaximumTrackImage(image, forState: .Normal)

// ツマミの画像を設定
slider.setThumbImage(image, forState: .Normal)

★ スライダーに設定している画像を取得する

// 最小値側バーの画像を取得
var minimumTrackImage:UIImage = slider.minimumTrackImageForState(UIControlState.Normal)!

// 最大値側バーの画像を取得
var maximumTrackImage:UIImage = slider.maximumTrackImageForState(UIControlState.Normal)!

// ツマミの画像を取得
var thumbImage:UIImage = slider.thumbImageForState(UIControlState.Normal)!

★ スライダーの最小値、最大値の横に表示する画像を指定する

let minimumValueImage = UIImage(named: "minimum.png")
let maximumValueImage = UIImage(named: "maximum.png")

// スライダーの最小値の横に表示する画像を指定する
slider.minimumValueImage = minimumValueImage

// スライダーの最大値の横に表示する画像を指定する
slider.maximumValueImage = maximumValueImage

★ スライダーの値が変わった時に呼ばれる関数を設定

slider.addTarget(self, action: "valueChanged:", forControlEvents: UIControlEvents.ValueChanged)

// スライダーの値が変わる度に呼ばれる
func valueChanged(slider :UISlider) {
 
// 現在のスライダー値を取得
var sliderValue = slider.value
    print(sliderValue)
}

★ スライダー左に90度回転させる

slider.transform = CGAffineTransformMakeRotation(CGFloat(-90.0 * M_PI / 180.0))

★ Viewにスライダーを追加する

self.view.addSubview(slider)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment