UIProgressViewでHPゲージみたいなことさせたかった
ゲージが最大まで行くと色が違うゲージが増え始める、格ゲーとかのあれ。
でもUIProgressViewだと、したいことができなかったので自作した。
できなかったこと
- UIProgressViewは高さ固定で指定できない
- 0 ~ 1 までの範囲で、1ゲージ分しか表示できない
やりたかったこと
- 高さは指定可能
- 0 ~ 1 の範囲だけでなく、それを越えた分だけ別の色のゲージが伸びる
これ
(まだREADME書けてない、、、)
install
cocoapodsならPodfileに以下を記述して
pod 'ColorGaugeView', :git => 'https://github.com/akihiro0228/ColorGaugeView.git'
pod install
でOKです。
使い方
UIViewを置いて、
CustomClassにColorGaugeViewを指定
あとは形を整えれば設置は完了
あとはコード上で、
import UIKit import ColorGaugeView class ViewController: UIViewController { @IBOutlet weak var colorGauge: ColorGaugeView! @IBOutlet weak var slider: UISlider! override func viewDidLoad() { super.viewDidLoad() // UIColor Array let barColors = [ UIColor.blueColor(), UIColor.brownColor(), UIColor.yellowColor(), UIColor.cyanColor(), UIColor.magentaColor() ] // set gauge colors self.colorGauge.barColors = barColors // set gauge type self.colorGauge.type = ColorGaugeType.LeftToRight self.slider.addTarget(self, action: "sliderChanged:", forControlEvents: UIControlEvents.ValueChanged) } func sliderChanged(sender: UISlider) { self.colorGauge.gauge = self.slider.value } }
という感じで表示したいバーの色と、ゲージが増える方向を指定。
gaugeの値を変更してやればゲージが増えたり減ったりします。
こんな感じ