GLTableCollectionView
  • October 9, 2023
Branch Status
master BuddyBuild
develop BuddyBuild

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

GitHub


View Github

#ios #swift #uicollectionview #uitableview #uitableviewcell #xcode
YOU MIGHT ALSO LIKE...
ViewCondition

✨ Super sweet syntactic sugar for SwiftUI.View initializers. At a Glance

SwiftUIX

SwiftUIX attempts to fill the gaps of SwiftUI, providing an extensive suite of components, extensions and utilities to complement the ...

SwiftUI Environment Overrides

A tiny library that adds a control panel for testing how SwiftUI app adapts for different color themes, accessibility settings, ...