Preheat alternatives and similar libraries
Based on the "Table View" category.
Alternatively, view Preheat alternatives based on common mentions on social networks and blogs.
-
DZNEmptyDataSet
A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display -
folding-cell
:octocat: 📃 FoldingCell is an expanding content cell with animation made by @Ramotion -
SWTableViewCell
An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) -
MGSwipeTableCell
An easy to use UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. -
CSStickyHeaderFlowLayout
UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. Made for iOS 7. -
AMWaveTransition
Custom transition between viewcontrollers holding tableviews -
preview-transition
:octocat: PreviewTransition is a simple preview gallery UI controller with animated tranisitions. Swift UI library made by @Ramotion -
GSKStretchyHeaderView
A generic stretchy header for UITableView and UICollectionView -
ParallaxTableViewHeader
Parallax scrolling effect on UITableView header view when a tableView is scrolled -
ZYThumbnailTableView
a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy -
QuickTableViewController
A simple way to create a UITableView for settings in Swift. -
MEVFloatingButton
An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. -
ConfigurableTableViewController
Typed, yet Flexible Table View Controller -
AEAccordion
Simple and lightweight UITableViewController with accordion effect (expand / collapse cells) -
VBPiledView
Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu -
SelectionList
Simple single-selection or multiple-selection checklist, based on UITableView -
OKTableViewLiaison
Framework to help you better manage UITableViews -
YXTPageView
A PageView, which supporting scrolling to transition between a UIView and a UITableView -
MVVMC-Demo
This is the demo of MVVM-C structure with dependency injection using RxSwift. -
StaticTableViewController
Dynamically hide / show cells of static UITableViewController -
Lightning-Table
A declarative api for working with UITableView. -
CollapsableTableKit
A kit for building tableviews with a collapsable animation, for each section. -
InfiniteScrollKit
A kit for building tableviews with a paging animation.
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Preheat or a related project?
README
Automates preheating (prefetching) of content in UITableView
and UICollectionView
.
Deprecated on iOS 10. This library is similar to
UITableViewDataSourcePrefetching
andUICollectionViewDataSourcePrefetching
added in iOS 10 which I would recommend to use instead.
One way to use Preheat
is to improve user experience in applications that display collections of images. Preheat
allows you to detect which cells are soon going to appear on the display, and prefetch images for those cells. You can use Preheat
with any image loading library, including Nuke which it was designed for.
The idea of automating preheating was inspired by Apple’s Photos framework example app.
Getting Started
- See Image Preheating Guide
- Check out example project for Nuke
Usage
Here is an example of how you might implement preheating in your application using Preheat and Nuke:
import Preheat
import Nuke
class PreheatDemoViewController: UICollectionViewController {
let preheater = Nuke.Preheater()
var controller: Preheat.Controller<UICollectionView>?
override func viewDidLoad() {
super.viewDidLoad()
controller = Preheat.Controller(view: collectionView!)
controller?.handler = { [weak self] addedIndexPaths, removedIndexPaths in
self?.preheat(added: addedIndexPaths, removed: removedIndexPaths)
}
}
func preheat(added: [IndexPath], removed: [IndexPath]) {
func requests(for indexPaths: [IndexPath]) -> [Request] {
return indexPaths.map {
var request = Request(url: photos[$0.row])
request.priority = .low
return request
}
}
preheater.startPreheating(with: requests(for: added))
preheater.stopPreheating(with: requests(for: removed))
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
controller?.enabled = true
}
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
// When you disable preheat controller it removes all preheating
// index paths and calls its handler
controller?.enabled = false
}
}
Requirements
- iOS 8.0 / tvOS 9.0
- Xcode 9
- Swift 4
Installation
CocoaPods
To install Preheat add a dependency to your Podfile:
# source 'https://github.com/CocoaPods/Specs.git'
# use_frameworks!
# platform :ios, "8.0"
pod "Preheat"
Carthage
To install Preheat add a dependency to your Cartfile:
github "kean/Preheat"
Import
Import installed modules in your source files
import Preheat
License
Preheat is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the Preheat README section above
are relevant to that project's source code only.