All Projects → Vishal-Singh-Panwar → Infinitescrolling

Vishal-Singh-Panwar / Infinitescrolling

Licence: mit
Add infinite scrolling to collection view.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Infinitescrolling

Pageable
An easy way to Pagination or Infinite scrolling for TableView/CollectionView
Stars: ✭ 44 (-71.79%)
Mutual labels:  pagination, infinite-scroll, collectionview
react-native-paginated-listview
A simple paginated react-native ListView with a few customization options
Stars: ✭ 14 (-91.03%)
Mutual labels:  pagination, infinite-scroll
react-example-paginated-list-infinite-scroll
Follow a React tutorial series with three parts to build a powerful component in React.
Stars: ✭ 43 (-72.44%)
Mutual labels:  pagination, infinite-scroll
InfiniteCarousel
💈Infinite Carousel Collection View
Stars: ✭ 67 (-57.05%)
Mutual labels:  infinite-scroll, collectionview
iOSEasyList
A data-driven UICollectionView and UITableView framework for building fast and flexible lists
Stars: ✭ 29 (-81.41%)
Mutual labels:  pagination, infinite-scroll
Pull To Refresh
ESPullToRefresh is developed and maintained by Vincent Li. If you have any questions or issues in using ESPullToRefresh, welcome to issue. If you want to contribute to ESPullToRefresh, Please submit Pull Request, I will deal with it as soon as possible.
Stars: ✭ 1,591 (+919.87%)
Mutual labels:  infinite-scroll, collectionview
Android Pagination With Recyclerview
Pagination (Endless or Infinite Scrolling) using RecyclerView's onScrollListener
Stars: ✭ 269 (+72.44%)
Mutual labels:  pagination, infinite-scroll
Infinite scroll pagination
Flutter package to help you lazily load and display pages of items as the user scrolls down your screen.
Stars: ✭ 102 (-34.62%)
Mutual labels:  pagination, infinite-scroll
Fapaginationlayout
Collection view pagination layout
Stars: ✭ 276 (+76.92%)
Mutual labels:  pagination, collectionview
Reactables
GigaTables is a ReactJS plug-in to help web-developers process table-data in applications and CMS, CRM, ERP or similar systems.
Stars: ✭ 112 (-28.21%)
Mutual labels:  pagination, infinite-scroll
Ember Impagination
An Ember Addon that puts the fun back in asynchronous, paginated datasets
Stars: ✭ 123 (-21.15%)
Mutual labels:  pagination, infinite-scroll
Vue Pagination 2
Vue.js 2 pagination component
Stars: ✭ 144 (-7.69%)
Mutual labels:  pagination
React Simple Infinite Scroll
A brutally simple react infinite scroll component
Stars: ✭ 132 (-15.38%)
Mutual labels:  infinite-scroll
React Responsive Carousel
React.js Responsive Carousel (with Swipe)
Stars: ✭ 1,962 (+1157.69%)
Mutual labels:  infinite-scroll
Vue Quick Loadmore
A pull-down refresh and pull-up infinite scroll component for Vue.js.--vue移动端下拉刷新上拉无限滚动加载插件,支持更换加载图片,保存和设置滚动距离等。
Stars: ✭ 129 (-17.31%)
Mutual labels:  infinite-scroll
Vuejs Datatable
A Vue.js component for filterable and paginated tables.
Stars: ✭ 148 (-5.13%)
Mutual labels:  pagination
Vertical Collection
Infinite Scroll and Occlusion at > 60FPS
Stars: ✭ 144 (-7.69%)
Mutual labels:  infinite-scroll
List.js
The perfect library for adding search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on existing HTML.
Stars: ✭ 10,650 (+6726.92%)
Mutual labels:  pagination
React Intersection List
React infinite scroll using the Intersection <Observer /> API
Stars: ✭ 125 (-19.87%)
Mutual labels:  infinite-scroll
Jxsegmentedview
A powerful and easy to use segmented view (segmentedcontrol, pagingview, pagerview, pagecontrol, categoryview) (腾讯新闻、今日头条、QQ音乐、网易云音乐、京东、爱奇艺、腾讯视频、淘宝、天猫、简书、微博等所有主流APP分类切换滚动视图)
Stars: ✭ 1,905 (+1121.15%)
Mutual labels:  collectionview

InfiniteScrolling

CI Status Version License Platform Code Climate

Add infinite scrolling to collection view.

This is a basic implementation to add infinite scrolling behaviour in a UICollectionView.

Usage

Usage is pretty simple. InfiniteScrollingBehaviour has one designated initializer.

init(withCollectionView collectionView: UICollectionView, andData dataSet: [InfiniteScollingData], delegate: InfiniteScrollingBehaviourDelegate, configuration: CollectionViewConfiguration = .default)

InfiniteScrollingData is a protocol which your modal needs to conform to. Right now its an empty protocol, but for scalability purpose, I felt like adding data set as collection of custom protocol instead of Any.

CollectionViewConfiguration can be used to tweak some behaviour of the infinite scrolling. You neeed to provide layoutType and scrollingDirection. Based on these two properties, boundary elements are added as well as size for cell is calculated. By default, InfiniteScrollingBehaviour has a CollectionViewConfiguration with layout value .numberOfCellsOnScreen(5) and scrollingDirection is horizontal.

LayoutType

LayoutType has two case:

  • case fixedSize(sizeValue: CGFloat, lineSpacing: CGFloat): If you need fixed size (if horizontal scrolling, sizeValue value will be cell's width, whereas in vertical scrolling, it will be cell's height. )
  • case numberOfCellOnScreen(Double): If you dont care about size and you need fixed number of elements on screen irrespective of screen size.

Incase you need to have infinite scrolling with pagination, enable pagination in the collectionView and pass in numberOfCellsOnScreen 1.

Note: Currently does not support custom flow layout and unequal cell sizes.

InfiniteScrollingBehaviourDelegate

The delegate has two methods.

func configuredCell(forItemAtIndexPath indexPath: IndexPath, originalIndex: Int, andData data: InfiniteScollingData, forInfiniteScrollingBehaviour behaviour: InfiniteScrollingBehaviour) -> UICollectionViewCell
func didSelectItem(atIndexPath indexPath: IndexPath, originalIndex: Int, andData data: InfiniteScollingData, inInfiniteScrollingBehaviour behaviour: InfiniteScrollingBehaviour) -> Void

First is a required method. Implementation needs to provide a configured UICollectionViewCell based on following parameters.

  • indexPath: Actual indexpath in the collectionView.
  • originalIndex: Index in the original data set.
  • data: InfiniteScollingData which will be used to configure your cell.

Note: If the number of elements in the data set is smaller than the maxNumberOfCellsOnScreen, than it automatically adjusts boundary to repeat the same elements on screen.

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

2017-01-23 00_52_09

Requirements

  • Minimum iOS version: 9.0
  • Swift: 4.0
  • Xcode 8

Installation

InfiniteScrolling is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "InfiniteScrolling"

License

InfiniteScrolling is available under the MIT license. See the LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].