Giter VIP home page Giter VIP logo

toscrollbar's Introduction

TOScrollBar

TOScrollBar

CI Status CocoaPods Version GitHub license Platform

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.

It 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.

Features

  • Allows for fine-grained scrolling of a UIScrollView's entire content height.
  • Interoperates directly with UIScrollView through the Objective-C runtime and KVO.
  • Animates the same way as the standard scroll indicators (including rubber banding).
  • Exposes 44 points of horizontal touch space, so it is very easy to activate.
  • Tapping at different positions allows for instant traversal along the scroll view.
  • Plays a scrolling animation during slow swiping, making it easier to follow along.
  • Comes with initial style settings for dark themes.
  • Includes Taptic Engine impact effects in a similar style to UISlider, available on iPhone 7.

Examples

TOScrollBar has been designed to be added directly to a UIScrollView, not as a view above.

// Create a scroll bar object
TOScrollBar *scrollBar = [[TOScrollBar alloc] init];

// Add the scroll bar to our table view
[self.tableView to_addScrollBar:scrollBar];

//Adjust the table separators so they won't underlap the scroll bar
self.tableView.separatorInset = [self.tableView.to_scrollBar adjustedTableViewSeparatorInsetForInset:self.tableView.separatorInset];

Once added to a scroll view, a scroll bar can be accessed via the to_scrollBar property. Convienience methods are also applied to make it easier to configure the margins

Installation

TOScrollBar will work with iOS 7 and above. While written in Objective-C, it should easily import into Swift as well.

Manual Installation

Copy the contents of the TOScrollBar folder to your app project.

CocoaPods

pod 'TOScrollBar'

Carthage

Feel free to file a PR. :)

Why build this?

I'm building a comic reader app that allows users to group collections of comics into single view controllers.

Unfortunately, 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 of their collections, but at the same time, traversing the comic has become a gruelling process.

This 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.

Credits

TOScrollBar was created by Tim Oliver as a component of iComics.

License

TOScrollBar is available under the MIT license. Please see the LICENSE file for more information

toscrollbar's People

Contributors

timoliver avatar

Stargazers

MohsinAli avatar

Watchers

MohsinAli avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.