{"id":16948648,"url":"https://github.com/timoliver/toscrollbar","last_synced_at":"2025-03-17T08:37:06.933Z","repository":{"id":56923086,"uuid":"72939647","full_name":"TimOliver/TOScrollBar","owner":"TimOliver","description":"An interactive scroll bar for traversing comically massive scroll views.","archived":false,"fork":false,"pushed_at":"2021-03-07T11:54:56.000Z","size":1033,"stargazers_count":91,"open_issues_count":2,"forks_count":14,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-27T21:25:59.491Z","etag":null,"topics":["cocoapods","ios","scrollbar","uiscrollview"],"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/TimOliver.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"timoliver","custom":"https://tim.dev/paypal"}},"created_at":"2016-11-05T16:45:35.000Z","updated_at":"2023-05-04T12:58:17.000Z","dependencies_parsed_at":"2022-08-21T04:50:26.098Z","dependency_job_id":null,"html_url":"https://github.com/TimOliver/TOScrollBar","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimOliver%2FTOScrollBar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimOliver%2FTOScrollBar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimOliver%2FTOScrollBar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimOliver%2FTOScrollBar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TimOliver","download_url":"https://codeload.github.com/TimOliver/TOScrollBar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243852484,"owners_count":20358271,"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":["cocoapods","ios","scrollbar","uiscrollview"],"created_at":"2024-10-13T21:51:47.723Z","updated_at":"2025-03-17T08:37:06.434Z","avatar_url":"https://github.com/TimOliver.png","language":"Objective-C","funding_links":["https://github.com/sponsors/timoliver","https://tim.dev/paypal","https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=M4RKULAVKV7K8"],"categories":[],"sub_categories":[],"readme":"# TOScrollBar\n\n![TOScrollBar](TOScrollBar.jpg)\n\n[![CI Status](http://img.shields.io/travis/TimOliver/TOScrollBar.svg?style=flat)](http://api.travis-ci.org/TimOliver/TOScrollBar.svg)\n[![CocoaPods](https://img.shields.io/cocoapods/dt/TOScrollBar.svg?maxAge=3600)](https://cocoapods.org/pods/TOScrollBar)\n[![Version](https://img.shields.io/cocoapods/v/TOScrollBar.svg?style=flat)](http://cocoadocs.org/docsets/TOScrollBar)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/TimOliver/TOScrollBar/master/LICENSE)\n[![Platform](https://img.shields.io/cocoapods/p/TOScrollBar.svg?style=flat)](http://cocoadocs.org/docsets/TOScrollBar)\n[![Beerpay](https://beerpay.io/TimOliver/TOScrollBar/badge.svg?style=flat)](https://beerpay.io/TimOliver/TOScrollBar)\n[![PayPal](https://img.shields.io/badge/paypal-donate-blue.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=M4RKULAVKV7K8)\n\n`TOScrollBar` is a UI component that can be inserted into `UIScrollView` instances, allowing the user to traverse the entire scroll view in one swiping gesture.\n\nIt has been designed to appear and behave like a standard system control, and has been optimized to ensure it has minimal impact on scroll performance.\n\n# Features\n\n* Allows for fine-grained scrolling of a `UIScrollView`'s entire content height.\n* Interoperates directly with `UIScrollView` through the Objective-C runtime and KVO.\n* Animates the same way as the standard scroll indicators (including rubber banding).\n* Exposes 44 points of horizontal touch space, so it is very easy to activate.\n* Tapping at different positions allows for instant traversal along the scroll view.\n* Plays a scrolling animation during slow swiping, making it easier to follow along.\n* Comes with initial style settings for dark themes.\n* Includes Taptic Engine impact effects in a similar style to `UISlider`, available on iPhone 7.\n\n# Examples\n\n`TOScrollBar` has been designed to be added directly to a `UIScrollView`, not as a view above.\n\n```objc\n\n// Create a scroll bar object\nTOScrollBar *scrollBar = [[TOScrollBar alloc] init];\n\n// Add the scroll bar to our table view\n[self.tableView to_addScrollBar:scrollBar];\n\n//Adjust the table separators so they won't underlap the scroll bar\nself.tableView.separatorInset = [self.tableView.to_scrollBar adjustedTableViewSeparatorInsetForInset:self.tableView.separatorInset];\n\n```\n\nOnce added to a scroll view, a scroll bar can be accessed via the `to_scrollBar` property. Convienience methods are\nalso applied to make it easier to configure the margins\n\n\n# Installation\n\n`TOScrollBar` will work with iOS 7 and above. While written in Objective-C, it should easily import into Swift as well.\n\n## Manual Installation\n\nCopy the contents of the `TOScrollBar` folder to your app project.\n\n## CocoaPods\n\n```\npod 'TOScrollBar'\n```\n\n## Carthage\n\nFeel free to file a PR. :)\n\n# Why build this?\n\nI'm building a [comic reader app](http://icomics.co) that allows users to group collections of comics into single view controllers.\n\nUnfortunately, some users have reported that certain comic series have a very large number of issues. It doesn't make sense to break these issues out\nof their collections, but at the same time, traversing the comic has become a gruelling process.\n\nThis scroll bar is the first component in a series of upgrades I'm planning in an attempt to make navigation large comic collections more manageable.\n\n# Credits\n\n`TOScrollBar` was created by [Tim Oliver](http://twitter.com/TimOliverAU) as a component of [iComics](http://icomics.co).\n\n# License\n\n`TOScrollBar` is available under the MIT license. Please see the [LICENSE](LICENSE) file for more information. ![analytics](https://ga-beacon.appspot.com/UA-5643664-16/TOScrollBar/README.md?pixel)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimoliver%2Ftoscrollbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimoliver%2Ftoscrollbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimoliver%2Ftoscrollbar/lists"}