Skip to content
Draw a chart with progress bar style
Branch: master
Clone or download
Latest commit 970784f Jan 24, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ChartProgressBar-ios.xcodeproj
ChartProgressBar-ios.xcworkspace Edit Sample and update pod Jan 24, 2018
ChartProgressBar-ios Edit Sample and update pod Jan 24, 2018
Pods Edit Sample and update pod Jan 24, 2018
.DS_Store
CODE_OF_CONDUCT.md
LICENSE
Podfile
Podfile.lock Edit Sample and update pod Jan 24, 2018
README.md

README.md

ChartProgressBar-iOS

MIT Licence

Draw a chart with progress bar style - the android version here

Installation

iOS version (9.0,*)

Swift 3.2

Using cocoapods : pod 'ChartProgressBar'

Or

Clone this repo and copy all the files

Usage

Add a UIView and set class name 'ChartProgressBar' , set the width and the height of this UIView

  1. Add your Data to the chart :
import UIKit
import ChartProgressBar

class ViewController: UIViewController, ChartProgressBarDelegate {

@IBOutlet weak var chart: ChartProgressBar!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        var data: [BarData] = []

        data.append(BarData.init(barTitle: "Jan", barValue: 1.4, pinText: "1.4 €"))
        data.append(BarData.init(barTitle: "Feb", barValue: 10, pinText: "10 €"))
        data.append(BarData.init(barTitle: "Mar", barValue: 3.1, pinText: "3.1 €"))
        data.append(BarData.init(barTitle: "Apr", barValue: 4.8, pinText: "4.8 €"))
        data.append(BarData.init(barTitle: "May", barValue: 6.6, pinText: "6.6 €"))
        data.append(BarData.init(barTitle: "Jun", barValue: 7.4, pinText: "7.4 €"))
        data.append(BarData.init(barTitle: "Jul", barValue: 5.5, pinText: "5.5 €"))

        chart.data = data
        chart.barsCanBeClick = true
        chart.maxValue = 10.0
        chart.emptyColor = UIColor.clear
        chart.barWidth = 7
        chart.progressColor = UIColor.init(hexString: "99ffffff")
        chart.progressClickColor = UIColor.init(hexString: "F2912C")
        chart.pinBackgroundColor = UIColor.init(hexString: "E2335E")
        chart.pinTxtColor = UIColor.init(hexString: "ffffff")
        chart.barTitleColor = UIColor.init(hexString: "B6BDD5")
        chart.barTitleSelectedColor = UIColor.init(hexString: "FFFFFF")
        chart.pinMarginBottom = 15
        chart.pinWidth = 70
        chart.pinHeight = 29
        chart.pinTxtSize = 17
        chart.delegate = self
        chart.build()
	
        chart.disableBar(at: 3)
	
	let when = DispatchTime.now() + 6 // change 2 to desired number of seconds
        DispatchQueue.main.asyncAfter(deadline: when) {
            self.chart.enableBar(at: 3)
        }
    }   
  }

To Handle ChartProgressBarDelegate

  extension MainViewController: ChartProgressBarDelegate {
    func ChartProgressBar(_ chartProgressBar: ChartProgressBar, didSelectRowAt rowIndex: Int) {
        print(rowIndex)
    }
}

Useful methods

  1. chart.removeValues() : Remove values of all progress bars in the chart.

  2. chart.resetValues() : Set values to the chart ( it may used after removeBarValues()) .

  3. chart.removeClickedBar() : Unselect the clicked bar.

  4. isBarsEmpty() : Check if bars values are empty.

  5. chart.disableBar(at: Int) : Disable a bar progmatically.

  6. chart.enableBar(at: Int) : Enable a bar progmatically.

  7. clickBar(index: Int) : Click a bar progmatically.

Credits

this library use AlNistor sample to draw a single bar.

Thanks for Simplexity that gave me time for doing this library.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.