{"id":13485370,"url":"https://github.com/SimformSolutionsPvtLtd/SSCustomPullToRefresh","last_synced_at":"2025-03-27T19:30:56.099Z","repository":{"id":49163608,"uuid":"350373706","full_name":"SimformSolutionsPvtLtd/SSCustomPullToRefresh","owner":"SimformSolutionsPvtLtd","description":"SSCustomPullToRefresh is an open-source library that uses UIKit to add an animation to the pull to refresh view in a UITableView and UICollectionView.","archived":false,"fork":false,"pushed_at":"2021-06-25T14:18:56.000Z","size":3755,"stargazers_count":71,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-02T03:03:01.602Z","etag":null,"topics":["carthage","cocoapods","ios","swift","swiftpackagemanager"],"latest_commit_sha":null,"homepage":"","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/SimformSolutionsPvtLtd.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":"2021-03-22T14:28:16.000Z","updated_at":"2025-02-04T13:21:43.000Z","dependencies_parsed_at":"2022-07-30T15:48:49.941Z","dependency_job_id":null,"html_url":"https://github.com/SimformSolutionsPvtLtd/SSCustomPullToRefresh","commit_stats":null,"previous_names":["mobile-simformsolutions/sscustompulltorefresh"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSCustomPullToRefresh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSCustomPullToRefresh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSCustomPullToRefresh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SimformSolutionsPvtLtd%2FSSCustomPullToRefresh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SimformSolutionsPvtLtd","download_url":"https://codeload.github.com/SimformSolutionsPvtLtd/SSCustomPullToRefresh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245910722,"owners_count":20692492,"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","ios","swift","swiftpackagemanager"],"created_at":"2024-07-31T18:00:20.925Z","updated_at":"2025-03-27T19:30:55.596Z","avatar_url":"https://github.com/SimformSolutionsPvtLtd.png","language":"Swift","funding_links":[],"categories":["iOS Guides","iOS"],"sub_categories":["Swift"],"readme":"\u003ca href=\"https://www.simform.com/\"\u003e\u003cimg src=\"https://github.com/SimformSolutionsPvtLtd/SSToastMessage/blob/master/simformBanner.png\"\u003e\u003c/a\u003e\n# SSCustomPullToRefresh\n\n\nSSCustomPullToRefresh is an open-source library that uses UIKit to add an animation to the pull to refresh view in a UITableView and UICollectionView.\n\n[![Swift Version][swift-image]][swift-url]\n[![License][license-image]][license-url]\n[![Carthage Compatible][carthage-image]][carthage-url]\n[![SwiftPM Compatible][spm-image]][spm-url]\n[![Platform][platform-image]][platform-url]\n[![PRs Welcome][PR-image]][PR-url]\n\n#### Animation Type\n| Spinner Animation | Pulse Animation | Wave Animation | Wave Animation |\n| :--: | :-----: | :--: | :--: |\n| ![Alt text](https://github.com/SimformSolutionsPvtLtd/SSCustomPullToRefresh/blob/master/spinnerAnimation.gif?raw=true)  | ![Alt text](https://github.com/SimformSolutionsPvtLtd/SSCustomPullToRefresh/blob/master/pulseAnimation.gif?raw=true) | ![Alt text](https://github.com/SimformSolutionsPvtLtd/SSCustomPullToRefresh/blob/master/waveAnimation.gif?raw=true) | ![Alt text](https://github.com/SimformSolutionsPvtLtd/SSCustomPullToRefresh/blob/master/waveSingleColor.gif?raw=true)\n\n# Requirements\n  - iOS 10.0+\n  - Xcode 11+\n\n# Installation\n#### CocoaPods\n \n- You can use CocoaPods to install SSCustomPullToRefresh by adding it to your Podfile:\n\n       use_frameworks!\n       pod 'SSCustomPullToRefresh'\n\n- import SSCustomPullToRefresh\n\n#### Manually\n-   Download and drop **SSCustomPullToRefresh** folder in your project.\n-   Congratulations!\n\n#### Swift Package Manager\n-   When using Xcode 11 or later, you can install `SSCustomPullToRefresh` by going to your Project settings \u003e `Swift Packages` and add the repository by providing the GitHub URL. Alternatively, you can go to `File` \u003e `Swift Packages` \u003e `Add Package Dependencies...`\n```swift\ndependencies: [\n    .package(url: \"https://github.com/mobile-simformsolutions/SSCustomPullToRefresh.git\", from: \"1.0.1\")\n]\n```\n\n####  Carthage\n-   [Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. You can install Carthage with [Homebrew](http://brew.sh/) using the following command:\n```bash\n$ brew update\n$ brew install carthage\n```\nTo integrate `SSCustomPullToRefresh` into your Xcode project using Carthage, add the following line to your `Cartfile`:\n\n```ogdl\ngithub \"mobile-simformsolutions/SSCustomPullToRefresh\"\n```\nRun `carthage` to build and drag the `SSCustomPullToRefresh`(Sources/SSCustomPullToRefresh) into your Xcode project.\n\n# How It Works\n- You can use it for any component having a base class as ScrollView like TableView or CollectionView.\n\n#### 1. Spinner Animation\n- SpinnerAnimationView takes image and backgroundColor as an input parameter. You can provide it as per your choice.\n\n      spinnerAnnimation = SpinnerAnimationView(image: UIImage(named: \"spinner\"), backgroundColor: .purple)           \n      spinnerAnnimation.delegate = self   \n      spinnerAnnimation.parentView = self.tableView    \n      spinnerAnnimation.setupRefreshControl()\n\n#### 2. Wave Animation\n- SineWaveAnimationView takes Color as an input parameter.\n\n      sineAnnimation = SineWaveAnimationView(color: .purple)           \n      sineAnnimation.delegate = self \n      sineAnnimation.parentView = self.tableView\n      sineAnnimation.setupRefreshControl()\n\n- Along with this, you can also provide two different colors and a waveHeight value. You can give a waveHeight value between 5.0 to 50.0.\n\n      sineAnnimation = SineWaveAnimationView(frontColor: .orange, backColor: .purple, waveHeight: 10.0)           \n \n#### 3. Pulse Animation\n- PulseAnimationView takes Color as an input parameter. You can provide center circle color, pulse color and background color of your refresh view. \n\n      pulseAnnimation = PulseAnimationView(circleColor: .purple, pulseColor: .purple, \n                                                                 pulseViewBackgroundColor: .brown)\n      pulseAnnimation.delegate = self   \n      pulseAnnimation.parentView = self.tableView\n      pulseAnnimation.setupRefreshControl()\n\n#### Delegate\n- The `RefreshDelegate` methods can be used to notify start and end refresh.\n\n      extension ViewController: RefreshDelegate {           \n        func startRefresh() { }   \n        func endRefresh() { }\n      }\n\n# Android Library:\n* Check our android Library also - [SSPullToRefresh][SSPullToRefresh]\n \n# License\n- SSCustomPullToRefresh is available under the MIT license. See the LICENSE file for more info.\n\n# Inspired \n-   SSCustomPullToRefresh(SineWaveAnimationView) inspired from [WaveAnimationView](https://github.com/noa4021J/WaveAnimationView)\n\n\n\n[swift-image]:https://img.shields.io/badge/swift-5.0-orange.svg\n[swift-url]: https://swift.org/\n[carthage-image]:https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat\n[carthage-url]: https://github.com/Carthage/Carthage\n[spm-image]:https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg\n[spm-url]: https://swift.org/package-manager\n[license-image]: https://img.shields.io/badge/License-MIT-blue.svg\n[license-url]: LICENSE\n[travis-image]: https://img.shields.io/travis/dbader/node-datadog-metrics/master.svg?style=flat-square\n[travis-url]: https://travis-ci.org/dbader/node-datadog-metrics\n[codebeat-image]: https://codebeat.co/assets/svg/badges/C-ffb83f-7198e9a1b7ad7f73977b0c9a5c7c3fffbfa25f262510e5681fd8f5a3188216b0.svg\n[codebeat-url]: https://codebeat.co/projects/github-com-vsouza-awesomeios-com\n[platform-image]:https://img.shields.io/cocoapods/p/LFAlertController.svg?style=flat\n[platform-url]:http://cocoapods.org/pods/LFAlertController\n[cocoa-image]:https://img.shields.io/cocoapods/v/EZSwiftExtensions.svg\n[cocoa-url]:https://img.shields.io/cocoapods/v/LFAlertController.svg\n[PR-image]:https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\n[PR-url]:http://makeapullrequest.com\n[SSPullToRefresh]: \u003chttps://github.com/SimformSolutionsPvtLtd/SSPullToRefresh\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimformSolutionsPvtLtd%2FSSCustomPullToRefresh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSimformSolutionsPvtLtd%2FSSCustomPullToRefresh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSimformSolutionsPvtLtd%2FSSCustomPullToRefresh/lists"}