{"id":2279,"url":"https://github.com/roytornado/RSLoadingView","last_synced_at":"2025-08-02T23:33:08.610Z","repository":{"id":44337613,"uuid":"91672266","full_name":"roytornado/RSLoadingView","owner":"roytornado","description":"Awesome loading animations using 3D engine written with Swift","archived":false,"fork":false,"pushed_at":"2019-04-26T02:39:32.000Z","size":12783,"stargazers_count":422,"open_issues_count":7,"forks_count":50,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-12-01T18:47:33.528Z","etag":null,"topics":["activityindicator","animation","hub","loading","loading-animations","progress","progress-view","swift"],"latest_commit_sha":null,"homepage":null,"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/roytornado.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}},"created_at":"2017-05-18T09:04:29.000Z","updated_at":"2024-08-17T13:44:23.000Z","dependencies_parsed_at":"2022-08-23T21:10:14.818Z","dependency_job_id":null,"html_url":"https://github.com/roytornado/RSLoadingView","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roytornado%2FRSLoadingView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roytornado%2FRSLoadingView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roytornado%2FRSLoadingView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roytornado%2FRSLoadingView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roytornado","download_url":"https://codeload.github.com/roytornado/RSLoadingView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228503182,"owners_count":17930529,"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":["activityindicator","animation","hub","loading","loading-animations","progress","progress-view","swift"],"created_at":"2024-01-05T20:16:09.674Z","updated_at":"2024-12-06T17:31:00.041Z","avatar_url":"https://github.com/roytornado.png","language":"Swift","readme":"# RSLoadingView\n\n## Introduction\n\n`RSLoadingView` bring your app to the new age of loading animations using 3D engine.\n- Written with Swift\n- Customizable\n- Using Apple's SceneKit with OpenGL\n- Include HUB feature: show full screen loading HUB with one line of code\n- Or use as standalone view\n- Configurable in interface builder\n\n## Requirements\n- Swift 4.0\n- iOS 9+\n\n## Demo\nSpinAlone - `base` Variant\n\n\u003cimg src=\"./screenshots_normal.png\" width=\"200\"\u003e\n\nSpinAlone - `base` Variant\n\n\u003cimg src=\"./gif_normal.gif\" width=\"200\"\u003e\n\nSpinAlone - `inAndOut` Variant; speedFactor = 2.0; lifeSpanFactor = 2.0; mainColor = UIColor.red\n\n\u003cimg src=\"./gif_inout.gif\" width=\"200\"\u003e\n\nTwins - `base` Variant\n\n\u003cimg src=\"./gif_twins.gif\" width=\"200\"\u003e\n\n## Installation\nRSLoadingView is available through [CocoaPods](http://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n```ruby\npod \"RSLoadingView\"\n```\n\n## Usage\n```swift\nimport UIKit\nimport RSLoadingView\n\nclass ViewController: UIViewController {\n\n  @IBAction func showLoadingHub() {\n    let loadingView = RSLoadingView()\n    loadingView.show(on: view)\n  }\n\n  @IBAction func showOnViewTwins() {\n    let loadingView = RSLoadingView(effectType: RSLoadingView.Effect.twins)\n    loadingView.show(on: view)\n  }\n\n  func hideLoadingHub() {\n    RSLoadingView.hide(from: view)\n  }\n\n  @IBAction func showOnWindow() {\n    let loadingView = RSLoadingView()\n    loadingView.showOnKeyWindow()\n  }\n\n  func hideLoadingHubFromKeyWindow() {\n    RSLoadingView.hideFromKeyWindow()\n  }\n  \n}\n\n```\n\n## Supported Effect\n| Effect | Variants |\n| ------ | ------ |\n| RSLoadingSpinAlone | base, inAndOut |\n| RSLoadingTwins | base |\n| RSLoadingTriples | (coming soon) |\n\n## Customization\n##### Loading View Related\n| Field | Default Value |\n| ------ | ------ |\n| speedFactor | 1.0 |\n| mainColor | UIColor.white |\n| colorVariation | 0.0 |\n| sizeFactor | 1.0 |\n| spreadingFactor | 1.0 |\n| lifeSpanFactor | 1.0 |\n| variantKey | \"\" |\n##### HUB Related\n| Field | Default Value |\n| ------ | ------ |\n| shouldDimBackground | true |\n| dimBackgroundColor | UIColor.black.withAlphaComponent(0.6) |\n| isBlocking | true |\n| shouldTapToDismiss | false |\n| sizeInContainer | CGSize(width: 180, height: 180) |\n\n## Author\n\nRoy Ng, roytornado@gmail.com\n@ Redso, https://www.redso.com.hk/\n\nLinkedin: https://www.linkedin.com/in/roy-ng-19427735/\n\n## License\n\nRSLoadingView is available under the MIT license. See the LICENSE file for more info.\n\n","funding_links":[],"categories":["UI","Progress"],"sub_categories":["Activity Indicator","Other free courses"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froytornado%2FRSLoadingView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froytornado%2FRSLoadingView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froytornado%2FRSLoadingView/lists"}