Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. ReverseExtension

ReverseExtension

MITSwift

A UITableView extension that enables cell insertion from the bottom of a table view.

GitHubGitHub
1.7k stars128 forks0 contributors

What is ReverseExtension?

ReverseExtension is a Swift library that extends UITableView to allow cells to be inserted from the bottom, making it easier to build interfaces like chat apps where new messages appear at the bottom. It handles the complex rotation of the table view and cells internally, providing a simple API through a `re` namespace. This eliminates the need for developers to manually implement tricky scrolling and layout logic.

Target Audience

iOS developers building apps that require table views with bottom-up content insertion, such as chat applications, messaging interfaces, or any UI where new items should appear at the bottom.

Value Proposition

Developers choose ReverseExtension because it drastically simplifies the implementation of reverse-scrolling table views, which are notoriously difficult to code manually. Its clean API and seamless integration with existing UITableView delegates make it a lightweight, focused solution without unnecessary overhead.

Overview

A UITableView extension that enables cell insertion from the bottom of a table view.

Use Cases

Best For

  • Building chat interfaces where new messages appear at the bottom
  • Creating messaging apps with reverse chronological message display
  • Implementing log viewers that show newest entries at the bottom
  • Developing comment sections that load new comments from the bottom
  • Adding reverse-scrolling feeds in social media apps
  • Simplifying bottom-up table views in iOS apps without custom complex logic

Not Ideal For

  • Projects built with SwiftUI or other declarative UI frameworks, as ReverseExtension is UIKit-specific and requires UITableView.
  • Apps requiring complex table view layouts with custom section headers or footers that might conflict with internal rotation logic.
  • Teams needing a drop-in solution with built-in styling or animations, since ReverseExtension focuses solely on scrolling behavior without UI enhancements.
  • Applications with strict performance constraints where the overhead of rotating views could impact smooth scrolling or memory usage.

Pros & Cons

Pros

Simplified Bottom Insertion

Handles the complex logic for inserting cells from the bottom, ideal for chat interfaces as demonstrated in the example GIF and code, eliminating manual scrolling adjustments.

Clean API Design

Encapsulates all reverse scrolling logic under a `re` namespace, keeping view controllers lean and code readable, as shown in the ViewController example where setup is minimal.

Delegate Compatibility

Fully supports UITableViewDelegate methods, allowing developers to maintain existing delegate patterns while adding reverse behavior, mentioned in the delegate support section.

Easy Reversal

Can revert to normal table view behavior by simply removing the `re` namespace, providing flexibility during development or if requirements change, as highlighted in the philosophy.

Cons

Rotation Overhead

Relies on rotating UITableView and cells internally, which could introduce performance bottlenecks or visual artifacts in complex layouts, as admitted in the concept explanation with images.

Limited Scope

Only supports UITableView; not compatible with UICollectionView or other list views, restricting its use in apps that require more flexible or modern UI components.

Potential Integration Issues

Might conflict with existing table view customizations or third-party libraries that manipulate view hierarchies, requiring thorough testing and possible workarounds.

Frequently Asked Questions

Quick Stats

Stars1,659
Forks128
Contributors0
Open Issues13
Last commit4 years ago
CreatedSince 2017

Tags

#ios#uitableviewcell#reverse#uitableview#ui-components#chat-ui#cocoapods#swift#extension#carthage

Built With

S
Swift

Included in

iOS51.7kSwift26.0k
Auto-fetched 9 hours ago

Related Projects

folding-cellfolding-cell

:octocat: 📃 FoldingCell is an expanding content cell with animation made by @Ramotion

Stars10,176
Forks1,136
Last commit2 years ago
SWTableViewCellSWTableViewCell

An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application)

Stars7,060
Forks1,241
Last commit5 years ago
MGSwipeTableCellMGSwipeTableCell

An easy to use UITableViewCell subclass that allows to display swippable buttons with a variety of transitions.

Stars6,912
Forks1,057
Last commit3 years ago
SwipeCellKitSwipeCellKit

Swipeable UITableViewCell/UICollectionViewCell based on the stock Mail.app, implemented in Swift.

Stars6,281
Forks813
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub