{"id":2318,"url":"https://github.com/facebookarchive/Shimmer","last_synced_at":"2025-08-02T23:33:11.337Z","repository":{"id":14258136,"uuid":"16965762","full_name":"facebookarchive/Shimmer","owner":"facebookarchive","description":"An easy way to add a simple, shimmering effect to any view in an iOS app.","archived":true,"fork":false,"pushed_at":"2021-02-06T00:01:46.000Z","size":2770,"stargazers_count":9346,"open_issues_count":21,"forks_count":1110,"subscribers_count":363,"default_branch":"master","last_synced_at":"2024-05-29T02:23:17.788Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/facebookarchive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-18T22:15:19.000Z","updated_at":"2024-05-20T21:15:07.000Z","dependencies_parsed_at":"2022-07-24T20:32:09.258Z","dependency_job_id":null,"html_url":"https://github.com/facebookarchive/Shimmer","commit_stats":null,"previous_names":["facebook/shimmer"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookarchive%2FShimmer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookarchive%2FShimmer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookarchive%2FShimmer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookarchive%2FShimmer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/facebookarchive","download_url":"https://codeload.github.com/facebookarchive/Shimmer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228503193,"owners_count":17930534,"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":[],"created_at":"2024-01-05T20:16:10.738Z","updated_at":"2024-12-06T17:31:00.958Z","avatar_url":"https://github.com/facebookarchive.png","language":"Objective-C","funding_links":[],"categories":["UI","Objective-C"],"sub_categories":["Animation"],"readme":"# Shimmer\nShimmer is an easy way to add a shimmering effect to any view in your app. It's useful as an unobtrusive loading indicator.\n\nShimmer was originally developed to show loading status in [Paper](http://facebook.com/paper).\n\n![Shimmer](https://github.com/facebook/Shimmer/blob/master/shimmer.gif?raw=true)\n\n## Usage\nTo use Shimmer, create a `FBShimmeringView` or `FBShimmeringLayer` and add your content. To start shimmering, set the `shimmering` property to `YES`.\n\nAn example of making a label shimmer:\n\n```objective-c\nFBShimmeringView *shimmeringView = [[FBShimmeringView alloc] initWithFrame:self.view.bounds];\n[self.view addSubview:shimmeringView];\n\nUILabel *loadingLabel = [[UILabel alloc] initWithFrame:shimmeringView.bounds];\nloadingLabel.textAlignment = NSTextAlignmentCenter;\nloadingLabel.text = NSLocalizedString(@\"Shimmer\", nil);\nshimmeringView.contentView = loadingLabel;\n\n// Start shimmering.\nshimmeringView.shimmering = YES;\n```\n\nThere's also an example project. In the example, you can swipe horizontally and vertically to try various shimmering parameters, or tap to start or stop shimmering. (To build the example locally, you'll need to open `FBShimmering.xcworkpace` rather than the `.xcodeproj`.)\n\n## Installation\nThere are two options:\n\n 1. Shimmer is available as `Shimmer` in [Cocoapods](http://cocoapods.org).\n 2. Manually add the files into your Xcode project. Slightly simpler, but updates are also manual.\n\nShimmer requires iOS 6 or later.\n\n## How it works\nShimmer uses the `-[CALayer mask]` property to enable shimmering, similar to what's described in John Harper's 2009 WWDC talk (unfortunately no longer online). Shimmer uses CoreAnimation's timing features to smoothly transition \"on-beat\" when starting and stopping the shimmer.\n\n## Other Platforms\n\nWe have a version of Shimmer for Android, too! It's [also available on GitHub](https://github.com/facebook/shimmer-android).\n\n## Contributing\nSee the CONTRIBUTING file for how to help out.\n\n## License\nShimmer is BSD-licensed. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacebookarchive%2FShimmer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffacebookarchive%2FShimmer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacebookarchive%2FShimmer/lists"}