All Projects → marty-suzuki → Reverseextension

marty-suzuki / Reverseextension

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

Programming Languages

swift
15916 projects
objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Reverseextension

TreeView
"TreeView - sub-cells simplified" (c). Enable subcells in UITableView with a single drop-in extension. CocoaPod:
Stars: ✭ 54 (-96.69%)
Mutual labels:  uitableview, uitableviewcell
WBChainMenu
This will show horizontal menu to a UITableViewCell with chain animation
Stars: ✭ 28 (-98.28%)
Mutual labels:  uitableview, uitableviewcell
Multiple-collectionView-in-Multiple-tableView-cells
UICollectionView is embed in UITableViewCell. The collection views are horizontal scrollable. The UITableView can have a section title for each UICollectionView and the number of UICollectionView is equal to the number of sections.
Stars: ✭ 23 (-98.59%)
Mutual labels:  uitableview, uitableviewcell
Expandabletable
AZExpandable is a lightweight proxy for UITableView to expand cells.
Stars: ✭ 218 (-86.63%)
Mutual labels:  uitableview, uitableviewcell
Gltablecollectionview
Netflix and App Store like UITableView with UICollectionView, written in pure Swift 4.2
Stars: ✭ 709 (-56.53%)
Mutual labels:  uitableview, uitableviewcell
AUPickerCell
Embedded picker view for table cells.
Stars: ✭ 19 (-98.84%)
Mutual labels:  uitableview, uitableviewcell
TableViewKit
Empowering UITableView with painless multi-type cell support and built-in automatic state transition animations
Stars: ✭ 105 (-93.56%)
Mutual labels:  uitableview, uitableviewcell
Automatic Height Tagcells
This is a sample project to implement features with dynamic height of UITableViewCell based on autolayout, tags aligned automatically and clickable tags.
Stars: ✭ 229 (-85.96%)
Mutual labels:  uitableview, uitableviewcell
Swipecellkit
A swipeable UITableViewCell or UICollectionViewCell with support for:
Stars: ✭ 5,745 (+252.24%)
Mutual labels:  uitableview, uitableviewcell
Tablekit
Type-safe declarative table views.
Stars: ✭ 567 (-65.24%)
Mutual labels:  uitableview, uitableviewcell
UITableViewCellAnimation
Basic tabeview cell animation for best way to display cell
Stars: ✭ 31 (-98.1%)
Mutual labels:  uitableview, uitableviewcell
Datasource
Simplifies the setup of UITableView data sources using type-safe descriptors for cells and sections. Animated diffing built-in.
Stars: ✭ 72 (-95.59%)
Mutual labels:  uitableview, uitableviewcell
Uitableviewdynamiclayoutcacheheight
🖖高性能的自动计算采用 Autolayout 布局的 UITableViewCell 和 UITableViewHeaderFooterView 的高度,内部自动管理高度缓存。
Stars: ✭ 360 (-77.93%)
Mutual labels:  uitableview, uitableviewcell
Mdl11 generics
Example project that was demonstrated on MDL #11 meetup - https://www.youtube.com/watch?v=A4FrEyFBjVA. Medium article - https://medium.com/chili-labs/configuring-multiple-cells-with-generics-in-swift-dcd5e209ba16
Stars: ✭ 50 (-96.93%)
Mutual labels:  uitableview, uitableviewcell
Tdbadgedcell
TDBadgedCell is a table view cell class that adds a badge, similar to the badges in Apple's own apps
Stars: ✭ 1,444 (-11.47%)
Mutual labels:  uitableview, uitableviewcell
Vscode Matlab
MATLAB support for Visual Studio Code
Stars: ✭ 114 (-93.01%)
Mutual labels:  extension
Genesis
Almighty Book Downloader
Stars: ✭ 120 (-92.64%)
Mutual labels:  extension
Vm80a
i8080 precise replica in Verilog, based on reverse engineering of real die
Stars: ✭ 114 (-93.01%)
Mutual labels:  reverse
Burp Send To
Adds a customizable "Send to..."-context-menu to your BurpSuite.
Stars: ✭ 114 (-93.01%)
Mutual labels:  extension
Dwwxpay
微信支付/订单查询
Stars: ✭ 122 (-92.52%)
Mutual labels:  extension

ReverseExtension

Version Language License Platform Carthage compatible

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

Concept

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.

Example

import UIKit
import ReverseExtension

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

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

        //You can apply reverse effect only set 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 5
  • Xcode 12 or greater
  • iOS 10 or greater

Installation

CocoaPods

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

pod "ReverseExtension"

Carthage

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)

Author

marty-suzuki, [email protected]

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].