{"id":18319433,"url":"https://github.com/liam-i/flyhud","last_synced_at":"2025-12-12T06:11:12.557Z","repository":{"id":56918928,"uuid":"93589333","full_name":"liam-i/FlyHUD","owner":"liam-i","description":"A lightweight and easy-to-use HUD for iOS and tvOS apps.","archived":false,"fork":false,"pushed_at":"2024-05-10T08:46:28.000Z","size":2813,"stargazers_count":19,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-29T13:01:49.369Z","etag":null,"topics":["hud","indicator","indicatorview","ios","loading","loadingview","notification","progressbar","progresshud","progressview","swift","toast"],"latest_commit_sha":null,"homepage":"https://liam-i.github.io","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/liam-i.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":"2017-06-07T03:38:58.000Z","updated_at":"2024-05-27T08:37:43.000Z","dependencies_parsed_at":"2024-01-25T14:28:09.889Z","dependency_job_id":"5fe37928-8cc1-453e-b481-170d7edb8616","html_url":"https://github.com/liam-i/FlyHUD","commit_stats":{"total_commits":52,"total_committers":2,"mean_commits":26.0,"dds":0.2692307692307693,"last_synced_commit":"1b66b73ab45d4d46797b20a1a9dd7956a23ad46c"},"previous_names":["leo-lp/lpprogresshud","liam-i/flyhud","liam-i/hud"],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liam-i%2FFlyHUD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liam-i%2FFlyHUD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liam-i%2FFlyHUD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liam-i%2FFlyHUD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liam-i","download_url":"https://codeload.github.com/liam-i/FlyHUD/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411236,"owners_count":20934650,"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":["hud","indicator","indicatorview","ios","loading","loadingview","notification","progressbar","progresshud","progressview","swift","toast"],"created_at":"2024-11-05T18:13:19.224Z","updated_at":"2025-12-12T06:11:12.482Z","avatar_url":"https://github.com/liam-i.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"![FlyHUD: Easy-to-use HUD in Swift](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/logo-dark.png#gh-dark-mode-only)\n![FlyHUD: Easy-to-use HUD in Swift](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/logo-light.png#gh-light-mode-only)\n\n[![Swift](https://img.shields.io/badge/Swift-5.7_5.8_5.9_5.10-orange?style=flat-square)](https://img.shields.io/badge/Swift-5.7_5.8_5.9_5.10-Orange?style=flat-square)\n[![Platforms](https://img.shields.io/badge/Platforms-iOS_tvOS_visionOS-yellowgreen?style=flat-square)](https://img.shields.io/badge/Platforms-iOS_tvOS_visionOS-Green?style=flat-square)\n[![CocoaPods](https://img.shields.io/cocoapods/v/FlyHUD.svg?style=flat)](https://cocoapods.org/pods/FlyHUD)\n[![SPM](https://img.shields.io/badge/SPM-supported-DE5C43.svg?style=flat)](https://swift.org/package-manager)\n[![Carthage](https://img.shields.io/badge/Carthage-supported-4BC51D.svg?style=flat-square)](https://github.com/Carthage/Carthage)\n[![Doc](https://img.shields.io/badge/Swift-Doc-DE5C43.svg?style=flat)](https://liam-i.github.io/FlyHUD/main/documentation/flyhud)\n[![License](https://img.shields.io/cocoapods/l/FlyHUD.svg?style=flat)](https://github.com/liam-i/FlyHUD/blob/main/LICENSE)\n\nEnglish | [简体中文](./README_CN.md)\n\nThis is a lightweight and easy-to-use HUD designed to display the progress and status of ongoing tasks on iOS and tvOS.\n\n## ScreenShots\n\n[![](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-1-small.png)](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-1.png)\n[![](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-2-small.png)](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-2.png)\n[![](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-3-small.png)](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-3.png)\n[![](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-4-small.png)](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-4.png)\n[![](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-6-small.png)](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-6.png)\n[![](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-8-small.png)](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-8.png)\n[![](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-7-small.png)](https://raw.githubusercontent.com/wiki/liam-i/FlyHUD/Screenshots/1-7.png)\n\n## Requirements\n\n* iOS 12.0+ \n* tvOS 12.0+ \n* Xcode 14.1+\n* Swift 5.7.1+\n\n## Installation\n\n### Swift Package Manager\n\n#### ...using `swift build`\n\nIf you are using the [Swift Package Manager](https://www.swift.org/documentation/package-manager), add a dependency to your `Package.swift` file and import the HUD library into the desired targets:\n```swift\ndependencies: [\n    .package(url: \"https://github.com/liam-i/FlyHUD.git\", from: \"1.5.12\")\n],\ntargets: [\n    .target(\n        name: \"MyTarget\", dependencies: [\n            .product(name: \"FlyHUD\", package: \"FlyHUD\"),         // Optional\n            .product(name: \"FlyProgressHUD\", package: \"FlyHUD\"), // Optional\n            .product(name: \"FlyIndicatorHUD\", package: \"FlyHUD\") // Optional\n        ])\n]\n```\n\n#### ...using Xcode\n\nIf you are using Xcode, then you should:\n\n- File \u003e Swift Packages \u003e Add Package Dependency\n- Add `https://github.com/liam-i/FlyHUD.git`\n- Select \"Up to Next Minor\" with \"1.5.12\"\n\n\u003e [!TIP]\n\u003e For detailed tutorials, see: [Apple Docs](https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app)\n\n### CocoaPods\n\nIf you're using [CocoaPods](https://cocoapods.org), add this to your `Podfile`:\n\n```ruby\nsource 'https://github.com/CocoaPods/Specs.git'\n# Or use CND source\n# source 'https://cdn.cocoapods.org/'\nplatform :ios, '12.0'\nuse_frameworks!\n\ntarget 'MyApp' do\n  # Use the FlyHUD, FlyIndicatorHUD and FlyProgressHUD components.\n  pod 'FlyHUD', '~\u003e 1.5.12'\n\n  # Or, just use the FlyHUD component.\n  pod 'FlyHUD', '~\u003e 1.5.12', :subspecs =\u003e ['FlyHUD']\n\n  # Or, just use the FlyHUD and FlyIndicatorHUD components.\n  pod 'FlyHUD', '~\u003e 1.5.12', :subspecs =\u003e ['FlyIndicatorHUD']\n\n  # Or, just use the FlyHUD and FlyProgressHUD components.\n  pod 'FlyHUD', '~\u003e 1.5.12', :subspecs =\u003e ['FlyProgressHUD']\nend\n```\n\nAnd run `pod install`.\n\n\u003e [!IMPORTANT]  \n\u003e CocoaPods 1.13.0 or newer is required.\n\n### Carthage\n\nIf you're using [Carthage](https://github.com/Carthage/Carthage), add this to your `Cartfile`:\n\n```ruby\ngithub \"liam-i/FlyHUD\" ~\u003e 1.5.12\n```\n\nAnd run `carthage update --platform iOS --use-xcframeworks`.\n\n## Usage\n\nUsing `HUD` in your application is very simple.\n\n* Displays the status HUD of an indeterminate tasks:\n\n```swift\nlet hud = HUD.show(to: view)\nDispatchQueue.global().async {\n    // Do something...\n    DispatchQueue.main.async {\n        hud.hide()\n    }\n}\n```\n\n* Displays a task's progress HUD:\n\n```swift\nlet hud = HUD.show(to: view, mode: .progress(), label: \"Loading\")\nTask.request { progress in\n    hud.progress = progress\n} completion: {\n    hud.hide()\n}\n```\n\n* Displays a text-only status HUD:\n\n```swift\nHUD.showStatus(to: view, label: \"Wrong password\")\n```\n\n* Displays a custom view's status HUD. e.g. a UIImageView:\n\n```swift\nHUD.showStatus(to: view, mode: .custom(UIImageView(image: UIImage(named: \"Checkmark\")?.withRenderingMode(.alwaysTemplate))), label: \"Completed\")\n```\n\n* Displays a custom view's status HUD. And the UIImageView is on the left:\n\n```swift\nHUD.showStatus(to: view, mode: .custom(UIImageView(image: UIImage(named: \"warning\"))), label: \"You have an unfinished task.\") {\n    $0.contentView.indicatorPosition = .leading\n}\n```\n\n* Sets the animation that should be used when showing and hiding the HUD. E.g. style, duration, spring damping:\n\n```swift\nHUD.showStatus(to: view, using: .animation(.slideUpDown, damping: .default, duration: 0.3), label: \"Wrong password\")\n```\n\n* Enable keyboard layout guide to track the keyboard's position in your app’s layout:\n\n```swift\nHUD.showStatus(to: view, label: \"You have a message.\") {\n    $0.keyboardGuide = .center()\n}\n```\n\n\u003e [!WARNING]\n\u003e HUD is a UI class and should therefore only be accessed on the main thread.\n\nFor more examples, including how to use the HUD with asynchronous operations such as URLSession, and how to customize the HUD style, take a look at the bundled example project. Extensive API documentation is available [here](https://liam-i.github.io/FlyHUD/main/documentation/flyhud).\n\nTo run the example project, first clone the repo, then `cd` to the root directory and run `pod install`. Then open HUD.xcworkspace in Xcode.\n\n## Documentation\n\nThe documentation for releases and `main` are available here:\n\n* [main](https://liam-i.github.io/FlyHUD/main/documentation/flyhud)\n* [1.5.6](https://liam-i.github.io/FlyHUD/1.5.6/documentation/flyhud)\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n  Other versions\n  \u003c/summary\u003e\n\n* [1.5.4](https://liam-i.github.io/FlyHUD/1.5.4/documentation/lphud)\n* [1.5.3](https://liam-i.github.io/FlyHUD/1.5.3/documentation/lphud)\n* [1.4.0](https://liam-i.github.io/FlyHUD/1.4.0/documentation/lphud)\n* [1.3.7](https://liam-i.github.io/FlyHUD/1.3.7/documentation/lphud)\n* [1.2.6](https://liam-i.github.io/FlyHUD/1.2.6/documentation/lphud)\n* [1.1.0](https://liam-i.github.io/FlyHUD/1.1.0/documentation/lpprogresshud)\n\n  \u003c/details\u003e\n\n## Why the name FlyHUD?\n\nThe name FlyHUD combines `Fly` and `HUD` and stands out for its simplicity and expressiveness. `Fly` implies fast, efficient and flexible meaning, which is consistent with the real-time and immediacy of `HUD`. Overall, FlyHUD expresses the ability of `HUD` to present information and data quickly and efficiently.\n\n## Credits and thanks\n\n* Thanks a lot to [Jonathan George](https://github.com/jdg) for building [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - all ideas in here and many implementation details were provided by his library.\n* Thanks a lot to [Vinh Nguyen](https://github.com/ninjaprox) for building [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - many implementation details of the loading animations here are provided by his library.\n* Thanks a lot to [Related Code](https://github.com/relatedcode) for building [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - many implementation details of the loading animations here are provided by his library.\n\n## License\n\nFlyHUD is available under the MIT license. See the [LICENSE](./LICENSE) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliam-i%2Fflyhud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliam-i%2Fflyhud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliam-i%2Fflyhud/lists"}