Skip to content
A UITableView extension that enables cell insertion from the bottom of a table view.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Images add UITableView function and property proxy Mar 9, 2017
ReverseExtension support swift4 #28 Sep 27, 2017
ReverseExtensionSample support swift4 #28 Sep 27, 2017
.gitignore Initial commit Mar 1, 2017
.swift-version support swift4 #28 Sep 27, 2017
.travis.yml Initial commit Mar 1, 2017
LICENSE Initial commit Mar 1, 2017
ReverseExtension.podspec support swift4 #28 Sep 27, 2017


Version Language License Platform Carthage compatible

UITableView extension that enabled to insert cell from bottom of tableView.


It is difficult to fill a tableview content from bottom. So, ReverseExtension rotate both of UITableView and UITableViewCell like this images.

If you implement those in ViewController, it will have been fat. So, escaping those implementation to re namespace property, and hiding those complex implementation. In addition, you can rollback to normal behaviour, only removing re namespace.


import UIKit
import ReverseExtension

class ViewController: UIViewController {
    @IBOutlet weak var tableView: UITableView!

    override func viewDidLoad() {
        tableView.dataSource = self
        tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")

        //You can apply reverse effect only set delegate. = self = { scrollView in
        } = { scrollView in

extension ViewController: UITableViewDelegate {
    //ReverseExtension also supports handling UITableViewDelegate.
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        print("scrollView.contentOffset.y =", scrollView.contentOffset.y)


  • Swift 4
  • Xcode 9 or greater
  • iOS 8.0 or greater



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

pod "ReverseExtension"


If you’re using Carthage, simply add ReverseExtension to your Cartfile:

github "marty-suzuki/ReverseExtension"

Make sure to add ReverseExtension.framework to "Linked Frameworks and Libraries" and "copy-frameworks" Build Phases.

Special Thanks

TouchVisualizer (Created by @morizotter)




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

You can’t perform that action at this time.