{"id":17216915,"url":"https://github.com/nikkovios/sdwebimage-circularprogressview","last_synced_at":"2025-04-13T22:32:34.391Z","repository":{"id":60908749,"uuid":"65204697","full_name":"NikKovIos/SDWebImage-CircularProgressView","owner":"NikKovIos","description":"Circular progress view category for SDWebImage. [Not supported anymore]","archived":false,"fork":false,"pushed_at":"2022-11-03T16:02:47.000Z","size":78,"stargazers_count":30,"open_issues_count":0,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-06T20:53:47.633Z","etag":null,"topics":["circular-indicator","image-loader","image-loading","sdwebimage","uiprogressview"],"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/NikKovIos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","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":"2016-08-08T13:03:20.000Z","updated_at":"2025-03-06T16:13:48.000Z","dependencies_parsed_at":"2022-10-06T14:12:41.206Z","dependency_job_id":null,"html_url":"https://github.com/NikKovIos/SDWebImage-CircularProgressView","commit_stats":null,"previous_names":["nikkovv/sdwebimage-circularprogressview"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikKovIos%2FSDWebImage-CircularProgressView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikKovIos%2FSDWebImage-CircularProgressView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikKovIos%2FSDWebImage-CircularProgressView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NikKovIos%2FSDWebImage-CircularProgressView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NikKovIos","download_url":"https://codeload.github.com/NikKovIos/SDWebImage-CircularProgressView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248790744,"owners_count":21162082,"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":["circular-indicator","image-loader","image-loading","sdwebimage","uiprogressview"],"created_at":"2024-10-15T03:42:42.780Z","updated_at":"2025-04-13T22:32:34.052Z","avatar_url":"https://github.com/NikKovIos.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SDWebImage-CircularProgressView\n![Cocoapods](https://img.shields.io/badge/pod-available-brightgreen.svg?style=flat)\n![Platform](https://img.shields.io/badge/platform-ios-blue.svg?style=flat)\n![Version](https://img.shields.io/badge/version-1.1-blue.svg?style=flat)\n![Objective-C version](https://img.shields.io/badge/Objective--C-latest-lightgrey.svg?style=flat)\n![License](https://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat)\n \nGood day everybody!)  \n\nThis is a category to SDWebImage that offer you to add ProgressView in three ways:\n- Circular (using [DACircularProgress](https://github.com/danielamitay/DACircularProgress))\n- Linear\n- Custom  \n\nImages are downloading by SDWebImage (3.7.0 and up)\n\n## SCREENSHOTS\n\n![Screenshot_here](https://github.com/NikKovV/SDWebImage-CircularProgressView/blob/master/Screenshots/NKVProgressView.png \"Screenshot\")\n\n\n## Installation\n[Cocoapods](http://cocoapods.org):\n```\npod 'SDWebImage-CircularProgressView'\n```\n## Code examples\nThere are two parameters and unique prefix to easier finding. \n- `progressViewType` - LinearPV or CircularPV. Choose the type of Progress View.\n- `progressView` - If you init your own UIProgressView than put it there. It should be a class or subclass of UIProgressView.\n```\n- (void)nkv_setImageWithURL:(NSURL *)url usingProgressViewType:(ProgressViewType)progressViewType orCustomProgressView:(UIProgressView *)progressView;\n- (void)nkv_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder usingProgressViewType:(ProgressViewType)progressViewType orCustomProgressView:(UIProgressView *)progressView;\n- (void)nkv_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options usingProgressViewType:(ProgressViewType)progressViewType orCustomProgressView:(UIProgressView *)progressView;\n- (void)nkv_setImageWithURL:(NSURL *)url completed:(SDWebImageCompletionBlock)completedBlock usingProgressViewType:(ProgressViewType)progressViewType orCustomProgressView:(UIProgressView *)progressView;\n- (void)nkv_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletionBlock)completedBlock usingProgressViewType:(ProgressViewType)progressViewType orCustomProgressView:(UIProgressView *)progressView;\n- (void)nkv_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options completed:(SDWebImageCompletionBlock)completedBlock usingProgressViewType:(ProgressViewType)progressViewType orCustomProgressView:(UIProgressView *)progressView;\n- (void)nkv_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock usingProgressViewType:(ProgressViewType)progressViewType orCustomProgressView:(UIProgressView *)progressView;\n```\n#### cancelCurrentImageLoad\nIf you're using the `sd_cancelCurrentImageLoad method`, you'll also have to call removeProgressView.\n```\n- (void)prepareForReuse {\n    [super prepareForReuse];\n    [self.imageView sd_cancelCurrentImageLoad];\n    [self.imageView removeProgressView];\n}\n```\n\n#### Customize UIProgressView by DataSource methods\n1. `#import \"UIImageView+CircularProgressView.h\"`\n2. `@interface NKVTableCell () \u003cProgressViewDataSource\u003e`\n3. `[self.bodyImageV nkvSetProgressViewDataSource:self];`\n4. `[self.bodyImageV nkv_setImageWithURL:url usingProgressViewType:CircularPV orCustomProgressView:nil];`\n5. In self (DataSource's class) implement method:\n```\n- (CircularProgressViewSettings *)setupCircularProgressViewSettings\n{\n    CircularProgressViewSettings *circularSettings = [CircularProgressViewSettings new];\n    circularSettings.progressTintColor = [UIColor redColor];\n    circularSettings.thicknessRatio = 0.2;\n    return circularSettings;\n}\n```\n#### Customize all UIProgressViews in app\n```\n[DACircularProgressView appearance].trackTintColor = [UIColor lightGrayColor];\n[DACircularProgressView appearance].progressTintColor = [UIColor blackColor];\n[UIProgressView appearance].trackTintColor = [UIColor lightGrayColor];\n[UIProgressView appearance].progressTintColor = [UIColor blackColor];\n```\n## You should know\n- It uses SDWebImage and DACircularProgress.\n- CirclePV type implements transparent view by default. Use appearance in AppDelegate or somewhere else to customize it.\n- Custom progress bar is a priority for other types. Otherwords if you choose `LinearPV` and then add `orCustomProgressView:(UIProgressView*)yourCustomProgressView` than it would be your custom ProgressView.\n\n### References\n\nInspired by projects:\n- https://github.com/kevinrenskers/SDWebImage-ProgressView\n- https://github.com/danielamitay/DACircularProgress\n\n#### TODO:\n- [x] Add http://shields.io/\n- [ ] Add example\n- [ ] Add UIedgeInsets like property\n- [ ] Add refresh button to image \n- [ ] Think about default settings for CircleV\n\n## My other Repos\n\n- [x] https://github.com/NikKovIos/ObjectMapper_RealmSwift - extension to add Realm object support for ObjectMapper\n- [x] https://github.com/NikKovIos/NKVPhonePicker - UITextField subclass picker for country phone codes\n\n### by Nik Kov\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikkovios%2Fsdwebimage-circularprogressview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikkovios%2Fsdwebimage-circularprogressview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikkovios%2Fsdwebimage-circularprogressview/lists"}