{
  "name": "ARSLineProgress",
  "version": "2.0.2.1",
  "summary": "iOS progress bar, replacement for the default activity indicator.",
  "description": "![ARSLineProgress](http://git.arsenkin.com/ARSLineProgress/ARSLineProgress.png)\n\n# ARSLineProgress\niOS progress bar as a replacement for iOS activity indicator. This progress HUD will add some nice style touch to your application. Moreover, you can customize this progress loader through customization structure.\n\n|                Infinite               |               Success               |              Fail             |          No State Animation      |\n| ------------------------------------- | ----------------------------------- | ----------------------------- | -------------------------------- |\n| ![ARSLineProgress Infinite][Infinite] | ![ARSLineProgress Success][Success] | ![ARSLineProgress Fail][Fail] | ![ARSLineProgress NoState][NoState] |\n\n[Infinite]: http://git.arsenkin.com/ARSLineProgress/ARSLineProgress_infinite.gif\n[Success]: http://git.arsenkin.com/ARSLineProgress/ARSLineProgress_progress_with_success.gif\n[Fail]: http://git.arsenkin.com/ARSLineProgress/ARSLineProgress_progress_with_fail.gif\n[NoState]: http://git.arsenkin.com/ARSLineProgress/ARSLineProgress_without_final_animation.gif\n\n## Installation\n\n### Carthage\nTo install with [Carthage](https://github.com/Carthage/Carthage), simply specify this on your `Cartfile`:\n\n    github \"soberman/ARSLineProgress\" >= 1.0\n\nIn case you don't Carthage installed yet, you could do this with [Homebrew](http://brew.sh/):\n\n``` Bash\n$ brew update\n$ brew install carthage\n```\n\nI would also advise to refer to this section of the Carthage description, for when [you're building for iOS, tvOS or WatchOS](https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos)\n\n### CocoaPods\nTo install with [CocoaPods](http://cocoapods.org/), copy and paste this in your *Podfile* file:\n\n    use_frameworks!\n    platform :ios, '8.0'\n    pod 'ARSLineProgress', '~> 1.0'\n\n### Rookie way\nYou can always to do the old way - just drag the source file into your projects and you are good to go.\n\n## Usage\nARSLineProgress makes it easy to use it - you have `ARSLineProgress` class, that offer you a wide range of class methods to show progress loader.\n\n###### Showing\nYou can show progress indicator in two modes: infinite and progress.\nInfinite progress will be shown until you hide it.\n``` Swift\nclass func show()\nclass func showWithPresentCompetionBlock(block: () -> Void)\nclass func showOnView(view: UIView)\nclass func showOnView(view: UIView, completionBlock: () -> Void)\n\nclass func hide()\nclass func hideWithCompletionBlock(block: () -> Void)\n```\n\nProgress indicator will be shown until the `NSProgress` object has the `fractionCompleted` value `1.0` or in case you have passed raw value - `100.0`.\n\n``` Swift\nclass func showWithProgressObject(progress: NSProgress)\nclass func showWithProgressObject(progress: NSProgress, completionBlock: (() -> Void)?)\nclass func showWithProgressObject(progress: NSProgress, onView: UIView)\nclass func showWithProgressObject(progress: NSProgress, onView: UIView, completionBlock: (() -> Void)?)\n\n// Updating progress in case you are using on of the methods above:\nclass func updateWithProgress(value: CGFloat)\n\n// initialValue should be from 0 to 100 in these methods\nclass func showWithProgress(initialValue value: CGFloat)\nclass func showWithProgress(initialValue value: CGFloat, completionBlock: (() -> Void)?)\nclass func showWithProgress(initialValue value: CGFloat, onView: UIView)\nclass func showWithProgress(initialValue value: CGFloat, onView: UIView, completionBlock: (() -> Void)?)\n```\n\nYou are able to show just the 'success' checkmark or fail with these methods:\n``` Swift\nstatic func showSuccess()\nstatic func showFail()\n```\n\n###### Hiding\nHiding progressHUD is can be similar to what you have done so far with the infinite loader, or you could use these dedicated methods:\n\n``` Swift\nclass func cancelPorgressWithFailAnimation(showFail: Bool)\nclass func cancelPorgressWithFailAnimation(showFail: Bool, completionBlock: (() -> Void)?)\n```\n\n## Customization\nYou can customize progressHUD through the `ARSLineProgressConfiguration` structure, that offers you a wide range of customization. Any changes are going to be visible only if you have set them before showing preloader, otherwise they are going to be visible during your next show of preloader.\n\nOnce you changed your mind and you want to restore ARSLineProgressConfiguration to its default parameters - use `static func restoreDefaults()` method.\n\n## Other\nARSLineProgress automatically responds to orientation changes, so it always going to be centered on the screen.\n\n## License\nARSLineProgress is released under the [MIT license](http://opensource.org/licenses/MIT). See LICENSE for details.",
  "homepage": "https://github.com/soberman/ARSLineProgress",
  "license": {
    "type": "MIT",
    "file": "LICENSE"
  },
  "authors": {
    "Yarik Arsenkin": "info@arsenkin.com"
  },
  "social_media_url": "http://twitter.com/Soberman777",
  "platforms": {
    "ios": "8.0"
  },
  "source": {
    "git": "https://github.com/soberman/ARSLineProgress.git",
    "tag": "2.0.2.1"
  },
  "source_files": "Source/*",
  "exclude_files": [
    "Demo/*",
    "Carthage/*"
  ],
  "requires_arc": true,
  "xcconfig": {
    "SWIFT_VERSION": "3.0"
  }
}
