• Stars
    star
    703
  • Rank 64,412 (Top 2 %)
  • Language
    Swift
  • License
    MIT License
  • Created almost 8 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Netflix and App Store like UITableView with UICollectionView, written in pure Swift 4.2

GLTableCollectionView

Branch Status
master BuddyBuild
develop BuddyBuild

Language Supported platforms codebeat badge license

What it is

GLTableCollectionView is a ready to use UITableViewController with a UICollectionView for each UITableViewCell, something like Netflix, Airbnb or the Apple's App Store are doing in their iOS apps. GLTableCollectionView is completely customizable in both its UITableView and UICollectionView parts since it has been made on the same Data Source and Delegate methods with no complicated additions.

GLTableCollectionView
πŸ”„ The same UITableView reusable cells logic provided from Apple's implementation
♻️ UICollectionView cell recycle
πŸ†’ Both UITableView & UICollectionView can have their own sections and/or headers
🎨 Customization of UICollectionViewCells using the same UICollectionViewDelegate Flow Layout you already know
✨ Previous UICollectionView .contentOffset value restoration after scroll
↔️ UICollectionView cell-size-based scroll pagination, see below for instructions
πŸ“ Storyboard and Auto Layout compatibility
πŸ’Ž Clean architecture
πŸ”§ Unit Tests

Enable/disable scroll pagination

Set paginationEnabled variable true in GLTableCollectionViewController class, false to disable. Default value is true.

/// Set true to enable UICollectionViews scroll pagination
var paginationEnabled: Bool = true

Demo

How it works

Requirements

  • Xcode 10.0+
  • Swift 4.2+
  • iOS 9.0+
  • SwiftLint (Optional, but highly suggested)

Donations

  • PayPal

  • BTC: 3Mc25tFtxxwD9mXqtxFn5Qvkbndg3NhvXi

  • LTC: MUoZzdDqD2BkWsVpcSv1pQVHhCcUuiADCL