{"id":19079309,"url":"https://github.com/harshalrj25/easypulltorefresh","last_synced_at":"2025-04-30T05:41:53.883Z","repository":{"id":56909773,"uuid":"172728098","full_name":"harshalrj25/EasyPullToRefresh","owner":"harshalrj25","description":"A single line code to implement pull to refresh and handle empty list message.","archived":false,"fork":false,"pushed_at":"2019-06-18T12:41:42.000Z","size":53,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T05:41:37.844Z","etag":null,"topics":["animation","data-set","empty-state","emptydataset","emptydataset-swift","ios","placeholder","pull-down-refresh","pull-refresh","pull-to-refresh","pulltorefresh","refresh","reload","swift","swift5","tableview"],"latest_commit_sha":null,"homepage":"https://medium.com/@harshalrj25/ios-swift-implement-pull-to-refresh-and-empty-uitableview-text-message-with-a-single-line-of-code-ba036a9b8df0","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/harshalrj25.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":"2019-02-26T14:32:01.000Z","updated_at":"2022-02-13T12:06:28.000Z","dependencies_parsed_at":"2022-08-20T20:20:48.728Z","dependency_job_id":null,"html_url":"https://github.com/harshalrj25/EasyPullToRefresh","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harshalrj25%2FEasyPullToRefresh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harshalrj25%2FEasyPullToRefresh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harshalrj25%2FEasyPullToRefresh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harshalrj25%2FEasyPullToRefresh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harshalrj25","download_url":"https://codeload.github.com/harshalrj25/EasyPullToRefresh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251651221,"owners_count":21621702,"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":["animation","data-set","empty-state","emptydataset","emptydataset-swift","ios","placeholder","pull-down-refresh","pull-refresh","pull-to-refresh","pulltorefresh","refresh","reload","swift","swift5","tableview"],"created_at":"2024-11-09T02:14:12.995Z","updated_at":"2025-04-30T05:41:53.851Z","avatar_url":"https://github.com/harshalrj25.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EasyPullToRefresh  :loudspeaker:\n\n[![CI Status](https://img.shields.io/travis/harshalrj25/EasyPullToRefresh.svg?style=flat)](https://travis-ci.org/harshalrj25/EasyPullToRefresh)\n[![Version](https://img.shields.io/cocoapods/v/EasyPullToRefresh.svg?style=flat)](https://cocoapods.org/pods/EasyPullToRefresh)\n[![License](https://img.shields.io/cocoapods/l/EasyPullToRefresh.svg?style=flat)](https://cocoapods.org/pods/EasyPullToRefresh)\n[![Platform](https://img.shields.io/cocoapods/p/EasyPullToRefresh.svg?style=flat)](https://cocoapods.org/pods/EasyPullToRefresh)\n\nEasily integrate pull to refresh without any hassle. Handle empty tableview with a single line. No need to add anything to storyboard or xib or code.\n\n## Example :books:\n\nTo run the example project, clone the repo, and run `pod install` from the Example directory first.\n\n## Installation :hourglass_flowing_sand:\n\nEasyPullToRefresh is available through [CocoaPods](https://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n```ruby\npod 'EasyPullToRefresh'\n```\n![alt text](https://github.com/harshalrj25/MasterAssetsRepo/blob/master/EasyPullToRefresh.gif \"TableView\")\n\n## Usage :bulb:\n\nImport the pod inside your viewcontroller class.\n```\nimport EasyPullToRefresh\n```\n\nAfter installation the pull to refresh will be available for every tableview inside your project.\nUse below call back to handle the refresh event.\n\n        self.tableView.customRefresh {\n            // You can do your API call here\n        }\n        \nSimilarly if the tableview is empty, a message will be shown along with a reload button.\nUse below call back to handle reload event.\n\n        self.tableView.customReload {\n            // You can do your API call here\n        }\n\nIf you dont like the colors and theme, override all the controls according to your needs.\nYou can override default colors and appearance for the UIRefreshControl, ReloadButton and DataEmptyLabel.\nUse Below variable names to access the controls\n          \n        // 1: Disable pull to refresh using the flag\n        self.tableView.showPullToRefresh = false\n        \n        // 2: Disable empty tableview message and reload button\n        self.tableView.showReloadOnEmpty = false\n        \n        // 3: Customize the UiRefreshControl\n        self.tableView.customRefreshControl.backgroundColor = UIColor.green\n        self.tableView.customRefreshControl.tintColor = UIColor.green\n        \n        // 4: Override custom message for empty tableview using below label\n        self.tableView.customEmptyMessageLabel.text = \"YOUR CUSTOM TEXT FOR EMPTY LIST\"\n        \n        // 5: Customize the Reload button for empty tableview\n        self.tableView.customReloadButton.backgroundColor = UIColor.green\n        self.tableView.customReloadButton.layer.borderColor = UIColor.red.cgColor\n\n\n## Author :innocent:\n\nMy email id, harshalrj25@gmail.com\n\n\u003ctable style=\"background-color:#F5F5DC\"\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cimg src=\"https://github.com/harshalrj25/MasterAssetsRepo/blob/master/myAvatar.jpg\" width=\"180\"/\u003e\n\nHarshal Jadhav\n\n\u003cp align=\"center\"\u003e\n\u003ca href = \"https://github.com/harshalrj25\"\u003e\u003cimg src = \"https://github.com/harshalrj25/MasterAssetsRepo/blob/master/gitHubLogo.png\" width=\"32\" height = \"33\"/\u003e\u003c/a\u003e\n\u003ca href = \"https://stackoverflow.com/users/7882093/harshal-jadhav?tab=profile\"\u003e\u003cimg src = \"https://github.com/harshalrj25/MasterAssetsRepo/blob/master/stackoverflow svg icon.svg\" width=\"36\" height=\"36\"/\u003e\u003c/a\u003e\n\u003ca href = \"https://www.linkedin.com/in/harshal-jadhav-298ba416a/\"\u003e\u003cimg src = \"https://github.com/harshalrj25/MasterAssetsRepo/blob/master/linkedInLogo.svg\" width=\"36\" height=\"36\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e \n\u003c/table\u003e\n\n## License\n\n\nIt's all your's :gift: \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharshalrj25%2Feasypulltorefresh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharshalrj25%2Feasypulltorefresh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharshalrj25%2Feasypulltorefresh/lists"}