{"id":13742781,"url":"https://github.com/JonasGessner/JGProgressHUD","last_synced_at":"2025-05-09T00:31:49.274Z","repository":{"id":18822673,"uuid":"22037702","full_name":"JonasGessner/JGProgressHUD","owner":"JonasGessner","description":"An elegant and simple progress HUD for iOS and tvOS, compatible with Swift and ObjC.","archived":false,"fork":false,"pushed_at":"2023-10-18T01:21:10.000Z","size":19205,"stargazers_count":3354,"open_issues_count":5,"forks_count":335,"subscribers_count":54,"default_branch":"master","last_synced_at":"2025-05-03T06:45:00.399Z","etag":null,"topics":["carthage","cocoapods","hud","ios","objective-c","progress-hud","swift","tvos"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","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/JonasGessner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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},"funding":{"custom":[]}},"created_at":"2014-07-20T16:40:19.000Z","updated_at":"2025-04-29T09:12:16.000Z","dependencies_parsed_at":"2024-06-18T10:59:05.829Z","dependency_job_id":null,"html_url":"https://github.com/JonasGessner/JGProgressHUD","commit_stats":{"total_commits":153,"total_committers":20,"mean_commits":7.65,"dds":0.3137254901960784,"last_synced_commit":"103d67f308b8c0c18926061025549af98cdfd6fc"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonasGessner%2FJGProgressHUD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonasGessner%2FJGProgressHUD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonasGessner%2FJGProgressHUD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JonasGessner%2FJGProgressHUD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JonasGessner","download_url":"https://codeload.github.com/JonasGessner/JGProgressHUD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253171014,"owners_count":21865275,"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":["carthage","cocoapods","hud","ios","objective-c","progress-hud","swift","tvos"],"created_at":"2024-08-03T05:00:36.171Z","updated_at":"2025-05-09T00:31:47.708Z","avatar_url":"https://github.com/JonasGessner.png","language":"Objective-C","funding_links":[],"categories":["Objective-C  Stars 1000以内排名整理","OOM-Leaks-Crash","Objective-C"],"sub_categories":["HUD-Indicator"],"readme":"JGProgressHUD\n---------------\n\nAn elegant and simple progress HUD for iOS and tvOS. **Supports Swift and Objective-C!**\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/JonasGessner/JGProgressHUD/raw/master/Examples/Screenshots/Presentation.png\" style='height: 100%; width: 100%; object-fit: contain'/\u003e\n\u003c/p\u003e\n\nOverview\n---------------\n\n__The ultimate progress HUD for iOS and tvOS is here: JGProgressHUD!__\n\n- Plug and play: Simple integration, easy to use, few lines of code required.\n- Easily customizable (custom animations, indicator views and more).\n- Uses `UIVisualEffectView` and `UIMotionEffect` for a native look.\n- Uses AutoLayout to provide a fully dynamic layout.\n- Detects and repositions when keyboard appears/disappears.\n- Dark mode support — automatically changes appearance.\n- Well documented and maintained.\n- Voice Over/`UIAccessibility` support.\n- Backward compatibility to iOS 8.\n- Can be used with Swift and Objective-C.\n- And most importantly, it looks good!\n\nDownload the source code and open the \u003ca href=\"Examples\"\u003eExamples\u003c/a\u003e project to try JGProgressHUD and see all of its features in action!\n\nJGProgressHUD can also be used with SwiftUI. See [JGProgressHUD-SwiftUI](https://github.com/JonasGessner/JGProgressHUD-SwiftUI).\n\n[![GitHub license](https://img.shields.io/github/license/JonasGessner/JGProgressHUD.svg)](https://github.com/JonasGessner/JGProgressHUD/blob/master/LICENSE.txt)\n[![CocoaPods](https://img.shields.io/cocoapods/v/JGProgressHUD.svg)](https://cocoapods.org/pods/JGProgressHUD)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![Carthage compatible](https://img.shields.io/badge/SwiftPM-Compatible-brightgreen)](https://swift.org/package-manager)\n\n\nExamples\n--------------\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/JonasGessner/JGProgressHUD/raw/master/Examples/Screenshots/demo1.gif\" width=\"250\"/\u003e\n\u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\n\u003cimg src=\"https://github.com/JonasGessner/JGProgressHUD/raw/master/Examples/Screenshots/demo2.gif\" width=\"250\"/\u003e\n\u003c/p\u003e\n\n#### Showing indeterminate progress:\n\nObjective-C:\n\n```objc\nJGProgressHUD *HUD = [[JGProgressHUD alloc] init];\nHUD.textLabel.text = @\"Loading\";\n[HUD showInView:self.view];\n[HUD dismissAfterDelay:3.0];\n```\n\nSwift:\n\n```swift\nlet hud = JGProgressHUD()\nhud.textLabel.text = \"Loading\"\nhud.show(in: self.view)\nhud.dismiss(afterDelay: 3.0)\n```\n\nThis displays a dark HUD with an activity indicator and the title \"Loading\". The HUD is presented with a fade animation and is dismissed after 3 seconds with a fade animation.\n\n#### Showing an error message:\n\n```objc\nJGProgressHUD *HUD = [[JGProgressHUD alloc] init];\nHUD.textLabel.text = @\"Error\";\nHUD.indicatorView = [[JGProgressHUDErrorIndicatorView alloc] init]; //JGProgressHUDSuccessIndicatorView is also available\n[HUD showInView:self.view];\n[HUD dismissAfterDelay:3.0];\n```\n\n#### Showing determinate progress:\n\n```objc\nJGProgressHUD *HUD = [[JGProgressHUD alloc] init];\nHUD.indicatorView = [[JGProgressHUDPieIndicatorView alloc] init]; //Or JGProgressHUDRingIndicatorView\nHUD.progress = 0.5f;\n[HUD showInView:self.view];\n[HUD dismissAfterDelay:3.0];\n```\n\n__For more examples, including in Swift, see \u003ca href=\"Examples\"\u003eExamples\u003c/a\u003e.__\n\n__Important:__ You should always show `JGProgressHUD` in a `UIViewController` view.\n\nCustomization\n-----------\n### Styles:\nJGProgressHUD can be displayed in 3 styles:\n\n- __Extra Light__\n- __Light__\n- __Dark__\n\nThe style can also be set automatically according to the current `UITraitCollection` (dark mode). Use the initializer `[[JGProgressHUD alloc] init]`/`JGProgressHUD()` to take advantage of the automatic style.\n\n### Indicator Views:\nBy default a HUD will display an indeterminate progress indicator. The indicator view can be completely hidden by setting the `indicatorView` property to `nil`. These indicator views are available by default:\n\n- __Indeterminate progress indicator__\n- __Pie progress indicator__\n- __Ring progress indicator__\n- __Success indicator__\n- __Error indicator__\n- __Image indicator__\n\nCustom indicator views can be created by subclassing `JGProgressHUDIndicatorView`.\u003cbr/\u003e\n\n\n### Animations:\nBy default a HUD will use a fade animation. Several parameters can be altered such as animation duration or animation curve. A HUD can be displayed without animation and different animations can be used. These animations are available by default:\n\n- __Fade__\n- __Zoom and Fade__\n\nCustom animations can be created by subclassing `JGProgressHUDAnimation`.\n\nTo dim the content behind the HUD set your dim color as `backgroundColor` of your `JGProgressHUD` instance.\n\nInstallation\n--------------\n\n### Swift Package Manager:\n\nIn Xcode, use the menu File \u003e Swift Packages \u003e Add Package Dependency... and enter the package URL `https://github.com/JonasGessner/JGProgressHUD.git`.\n\nThis is the recommended way of installing JGProgressHUD.\n\n### Carthage:\nIn your `Cartfile` add:\n\n```\ngithub \"JonasGessner/JGProgressHUD\"\n```\n\n### CocoaPods:\nIn your `Podfile` add:\n\n```\npod 'JGProgressHUD'\n```\n\n### Manual Installation:\n\n1. Drag the `JGProgressHUD.xcodeproj` file into your Xcode project.\n2. Add `JGProgressHUD.framework` to \"Embedded Binaries\" in the \"General\" tab of your target.\n\n-------\nAfter installing import the module where you want to use it:\n\n```objc\n@import JGProgressHUD;\n```\n\nSwift:\n\n```swift\nimport JGProgressHUD\n```\n\nSee the \u003ca href=\"Examples\"\u003eExamples\u003c/a\u003e project for an example implementation of JGProgressHUD as framework.\n\nRequirements\n------------\n\n- Base SDK of iOS/tvOS/macCatalyst 13.0 or higher.\n- Deployment target of iOS 8.0, tvOS 9.0, macCatalyst 13.0, or higher.\n\nJGProgressHUD can also be used by projects written in Swift. See \u003ca href=\"https://github.com/JonasGessner/JGProgressHUD#installation\"\u003eInstallation\u003c/a\u003e for details.\n\nDocumentation\n----------------\nDetailed documentation can be found on \u003ca href=\"http://jonasgessner.github.io/JGProgressHUD/\"\u003ehere\u003c/a\u003e.\u003cbr/\u003e\u003cbr/\u003e\nEach class and method is well documented, making it easy to quickly get a good overview. To start, see \u003ca href=\"JGProgressHUD/JGProgressHUD/include/JGProgressHUD.h\"\u003eJGProgressHUD.h\u003c/a\u003e.\n\nLicense\n---------\nMIT License.\u003cbr/\u003e\n© 2014-2020, Jonas Gessner.\n\nCredits\n----------\nCreated and maintained by Jonas Gessner, © 2014-2020.\u003cbr/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJonasGessner%2FJGProgressHUD","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJonasGessner%2FJGProgressHUD","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJonasGessner%2FJGProgressHUD/lists"}