{"id":21974371,"url":"https://github.com/1caxz/iprogresshud","last_synced_at":"2025-08-22T10:42:20.115Z","repository":{"id":54595120,"uuid":"117188686","full_name":"1Caxz/iProgressHUD","owner":"1Caxz","description":"An elegant, lightweight and responsive progress HUD for iOS app with very simple usage. Available 32 indicators by NVActivityIndicatorView.","archived":false,"fork":false,"pushed_at":"2024-08-21T15:26:25.000Z","size":495,"stargazers_count":120,"open_issues_count":3,"forks_count":23,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-06T10:44:34.040Z","etag":null,"topics":["dialog-popup","dialog-window","elegant-themes","loading","loading-animations","loading-bar","loading-dialog","loading-indicator","loading-overlay","loading-page","loading-screen","loading-spinner","progress","progress-circle","progress-dialog","progress-hud","progress-view"],"latest_commit_sha":null,"homepage":"https://github.com/icaksama/iProgressHUD","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/1Caxz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-12T03:42:21.000Z","updated_at":"2024-02-08T04:05:54.000Z","dependencies_parsed_at":"2024-11-30T08:45:17.204Z","dependency_job_id":null,"html_url":"https://github.com/1Caxz/iProgressHUD","commit_stats":{"total_commits":19,"total_committers":2,"mean_commits":9.5,"dds":"0.052631578947368474","last_synced_commit":"47f5a4e2f900e5d1e989192c548e3cab9ff87315"},"previous_names":["icaksama/iprogresshud"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Caxz%2FiProgressHUD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Caxz%2FiProgressHUD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Caxz%2FiProgressHUD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1Caxz%2FiProgressHUD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1Caxz","download_url":"https://codeload.github.com/1Caxz/iProgressHUD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248659774,"owners_count":21141179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dialog-popup","dialog-window","elegant-themes","loading","loading-animations","loading-bar","loading-dialog","loading-indicator","loading-overlay","loading-page","loading-screen","loading-spinner","progress","progress-circle","progress-dialog","progress-hud","progress-view"],"created_at":"2024-11-29T15:45:00.165Z","updated_at":"2025-04-13T03:33:18.194Z","avatar_url":"https://github.com/1Caxz.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iProgressHUD\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"100%\" src=\"https://github.com/icaksama/iProgressHUD/blob/master/iProgressHUDLogo.png?raw=true\"\u003e\n\u003c/p\u003e\n\n[![Creator](https://img.shields.io/badge/creator-icaksama-green.svg)](https://www.linkedin.com/in/icaksama/)\n[![Travis](https://img.shields.io/travis/icaksama/iProgressHUD.svg)](https://travis-ci.org/icaksama/iProgressHUD)\n[![GitHub license](https://img.shields.io/github/license/icaksama/iProgressHUD.svg)](https://raw.githubusercontent.com/icaksama/iProgressHUD/master/LICENSE)\n[![Code Size](https://img.shields.io/github/languages/code-size/icaksama/iProgressHUD.svg)](https://img.shields.io/github/languages/code-size/icaksama/iProgressHUD.svg)\n[![Pod Version](https://img.shields.io/cocoapods/v/iProgressHUD.svg)](https://img.shields.io/cocoapods/v/iProgressHUD.svg)\n[![Platform](https://img.shields.io/cocoapods/p/iProgressHUD.svg)](https://img.shields.io/cocoapods/p/iProgressHUD.svg)\n[![Download Total](https://img.shields.io/cocoapods/dt/iProgressHUD.svg)](https://img.shields.io/cocoapods/dt/iProgressHUD.svg)\n\u003cbr\u003e\nAn elegant, lightweight and responsive progress HUD for iOS app with very simple usage. Available 32 indicators by NVActivityIndicatorView. Your views can directly call start and stop the progress without spending your code anymore.\n\n## Features\n- [x] Responsive\n- [x] Customizable\n- [x] Full animations\n- [x] Available 32 indicators by NVActivityIndicatorView\n- [x] Support modal view, dismiss and touchable\n- [x] Show and stop progress on view everywhere\n- [x] Support vertical and horizontal style\n- [x] VERY SIMPLE USAGE!\n\n## Preview\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"100%\" src=\"https://github.com/icaksama/iProgressHUD/blob/master/Preview.png?raw=true\"\u003e\n\u003c/p\u003e\n\n## Cocoapods\nAdd to `Podfile` :\n```podfile\npod 'iProgressHUD', '~\u003e 1.1.1'\n```\n\n## Indicator Types\nAvailable 32 indicators by NVActivityIndicatorView\n\u003cp align=\"center\"\u003e\n\u003cimg width=\"250\" src=\"https://github.com/ninjaprox/NVActivityIndicatorView/blob/master/Demo.gif?raw=true\"\u003e\n\u003c/p\u003e\n\n| Type | Type | Type | Type |\n|---|---|---|---|\n|1. ballPulse | 2. ballGridPulse | 3. ballClipRotate | 4. squareSpin|\n|5. ballClipRotatePulse | 6. ballClipRotateMultiple | 7. ballPulseRise | 8. ballRotate|\n|9. cubeTransition | 10. ballZigZag | 11. ballZigZagDeflect | 12. ballTrianglePath|\n|13. ballScale | 14. lineScale | 15. lineScaleParty | 16. ballScaleMultiple|\n|17. ballPulseSync | 18. ballBeat | 19. lineScalePulseOut | 20. lineScalePulseOutRapid|\n|21. ballScaleRipple | 22. ballScaleRippleMultiple | 23. ballSpinFadeLoader | 24. lineSpinFadeLoader|\n|25. triangleSkewSpin | 26. pacman | 27. ballGridBeat | 28. semiCircleSpin|\n|29. ballRotateChase | 30. orbit | 31. audioEqualizer | 32. circleStrokeSpin|\n\n# How to Use\n\n## Quick Usage\nYou can use quick usage with default setting.\n```swift\nimport iProgressHUD\n\nclass ViewController: UIViewController {\n    override func viewDidAppear(_ animated: Bool) {\n        // Attach iProgressHUD to views\n        iProgressHUD.sharedInstance().attachProgress(toView: self.view)\n        // Show iProgressHUD directly from view\n        view.showProgress()\n    }\n}\n```\n\n## Custom Usage\nYou can custom iProgressHUD in your project. Please take a look at iProgressHUD Setting.\n```swift\nimport iProgressHUD\n\nclass ViewController: UIViewController {\n    override func viewDidAppear(_ animated: Bool) {\n        let iprogress: iProgressHUD = iProgressHUD()\n        iprogress.isShowModal = true\n        iprogress.isShowCaption = true\n        iprogress.isTouchDismiss = true\n        \n        // Attach iProgressHUD to views\n        iprogress.attachProgress(toViews: view, view1, view2, view3)\n        \n        // Show iProgressHUD directly from view\n        view.showProgress()\n        view1.showProgress()\n        view2.showProgress()\n        view3.showProgress()\n    }\n}\n```\n\n## Show/Dismiss iProgressHUD\nYou can show or dismiss iProgressHUD directly from a view that already attached the progress.\n```swift\n// Show iProgressHUD directly from view\nview.showProgress()\n// Stop iProgressHUD directly from view\nview.dismissProgress()\n```\n\n## Update Caption \u0026 Indicator On The Fly\nYou can change caption and indicator types on the fly directly from the view.\n```swift\n// Change caption on the fly directly from the view\nview.updateCaption(text: \"New Caption Here!\")\n// Change indicator type on the fly directly from the view\nview.updateIndicator(style: .ballBeat)\n```\n\n## Add Delegete\nAdd iProgressHUDDelegete to your class/ViewController to get response onShow, onDismiss or onTouch. This method is optional to implement.\n```swift\nimport iProgressHUD\n\nclass ViewController: UIViewController, iProgressHUDDelegete {\n    override func viewDidAppear(_ animated: Bool) {\n        let iprogress: iProgressHUD = iProgressHUD()\n        \n        // Set the delegete\n        iprogress.delegete = self\n\n        // Attach iProgressHUD to views\n        iprogress.attachProgress(toViews: view)\n\n        // Show iProgressHUD directly from view\n        view.showProgress()\n    }\n    \n    func onShow(view: UIView) {\n        print(\"onShow\")\n    }\n    \n    func onDismiss(view: UIView) {\n        print(\"onStop\")\n    }\n    \n    func onTouch(view: UIView) {\n        print(\"onTouch\")\n    }\n}\n```\n\n## iProgressHUD Setting\n```swift\n/** Setting indicator style. Default is ballClipRotatePulse. */\niprogress.indicatorStyle = .ballClipRotatePulse\n\n/** Setting iprogress style in vertical or horizontal. Default is vertical. */\niprogress.iprogressStyle = .vertical\n\n/** Setting the indicator size in percent of box view. Default is 60%. */\niprogress.indicatorSize = 60\n\n/** Setting the alpha of modal view. Default is 0.7 */\niprogress.alphaModal = 0.7\n\n/** Setting the alpha of box view. Default is 0.7 */\niprogress.alphaBox = 0.7\n\n/** Setting box size in percent of width view. Default is 50%. */\niprogress.boxSize = 50\n\n/** Setting the corner radius of box view. Default is 12. */\niprogress.boxCorner = 12\n\n/** Setting the caption distance with indicator view. Default is 0. */\niprogress.captionDistance = 0\n\n/** Show or hide the caption view. Default is true. */\niprogress.isShowCaption = true\n\n/** Show or hide the modal view. Default is true. */\niprogress.isShowModal = true\n\n/** Show or hide the box view. Default is true. */\niprogress.isShowBox = true\n\n/** Give blur effect in modal view. Default is false. */\niprogress.isBlurModal = false\n\n/** Give blur effect in box view. Default is false. */\niprogress.isBlurBox = false\n\n/** Make the progress touchable. Default is false. */\niprogress.isTouchDismiss = false\n\n/** Change the modal view color. Default is white. */\niprogress.modalColor = .white\n\n/** Change the box view color. Default is black. */\niprogress.boxColor = .black\n\n/** Change the text color of caption. Default is white. */\niprogress.captionColor = .white\n\n/** Change the indicator view color. Default is white. */\niprogress.indicatorColor = .white\n\n/** Change the font size of caption. Default is 20. */\niprogress.captionSize = 20\n```\n\n### Note : Please take a look at iProgressHUDDemo for detail usage.\n\n## MIT License\n```text\nCopyright (c) 2018 Saiful Irham Wicaksana\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1caxz%2Fiprogresshud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1caxz%2Fiprogresshud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1caxz%2Fiprogresshud/lists"}