ReverseExtension 0.4.8

ReverseExtension 0.4.8

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release May 2017
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by Taiki Suzuki.


Downloads

Total3,226
Week411
Month1,588

Installs

Apps181
Apps WeekApps This Week 33
Pod Tries3
Test Targets11
Test WeekTests This week 4
powered by Segment

GitHub

Stars1,073
Watchers25
Forks47
Issues3
Contributors4
Pull Requests0

Code

Files7
LOCLines of Code 490


ReverseExtension

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

Concept

It is difficult to fill a tableview content from the bottom.

ReverseExtension rotates the UITableView and the UITableViewCells like in these images.

If you implement this logic in UIViewController, it will add too much complexity.

By encapsulating the implementation to the re namespace property, we hide the complexity.

In addition, you can roll back to the normal behavior by removing the re namespace.

Example

import UIKit
import ReverseExtension

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

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

        //You can apply reverse effect just by setting the delegate.
        tableView.re.delegate = self
        tableView.re.scrollViewDidReachTop = { scrollView in
            print("scrollViewDidReachTop")
        }
        tableView.re.scrollViewDidReachBottom = { scrollView in
            print("scrollViewDidReachBottom")
        }
    }
}

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

Requirements

  • Swift 3.0
  • Xcode 8.0 or greater
  • iOS 8.0 or greater

Special Thanks

TouchVisualizer (Created by @morizotter)

Author

marty-suzuki, [email protected]

License

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